return new UserWithSecret(user, userSecretData, secretToken);
}
public AuthenticatedProject authenticate(ProjectData project, AuthenticatedUser user) {
ProjectRoles projectRoles = Users.findProjectRoles(user.getUserData(), project.getId());
if (projectRoles == null) {
// TODO: We probably need another path for domain admins
return null;
}
if (!projectRoles.hasSecretData()) {
throw new IllegalStateException("Project role has no secret data");
}
ProjectRolesSecretData projectRolesSecretData;
try {
projectRolesSecretData = unlock(projectRoles.getSecretData(), user, ProjectRolesSecretData.newBuilder());
} catch (IOException e) {
throw new IllegalStateException("Error unlocking project", e);
}
int version = 0;