54 ClientRepresentation client = context.getClient();
56 event.event(EventType.CLIENT_REGISTER);
60 ValidationMessages validationMessages =
new ValidationMessages();
61 if (!context.validateClient(validationMessages)) {
62 String errorCode = validationMessages.fieldHasError(
"redirectUris") ? ErrorCodes.INVALID_REDIRECT_URI : ErrorCodes.INVALID_CLIENT_METADATA;
63 throw new ErrorResponseException(
65 validationMessages.getStringMessages(),
66 Response.Status.BAD_REQUEST
72 ClientModel clientModel =
new ClientManager(
new RealmManager(
session)).createClient(
session, realm, client,
true);
74 if (clientModel.isServiceAccountsEnabled()) {
75 new ClientManager(
new RealmManager(
session)).enableServiceAccount(clientModel);
78 if (Boolean.TRUE.equals(client.getAuthorizationServicesEnabled())) {
79 RepresentationToModel.createResourceServer(clientModel,
session,
true);
82 ClientRegistrationPolicyManager.triggerAfterRegister(context, registrationAuth, clientModel);
84 client = ModelToRepresentation.toRepresentation(clientModel,
session);
86 client.setSecret(clientModel.getSecret());
88 String registrationAccessToken = ClientRegistrationTokenUtils.updateRegistrationAccessToken(
session, clientModel, registrationAuth);
89 client.setRegistrationAccessToken(registrationAccessToken);
96 event.client(client.getClientId()).success();
98 }
catch (ModelDuplicateException e) {
99 throw new ErrorResponseException(ErrorCodes.INVALID_CLIENT_METADATA,
"Client Identifier in use", Response.Status.BAD_REQUEST);
ClientInitialAccessModel getInitialAccessModel()
Definition: ClientRegistrationAuth.java:249
KeycloakContext getContext()
boolean isInitialAccessToken()
Definition: ClientRegistrationAuth.java:118
ClientRegistrationAuth auth
Definition: AbstractClientRegistrationProvider.java:47
KeycloakSession session
Definition: AbstractClientRegistrationProvider.java:45
void decreaseRemainingCount(RealmModel realm, ClientInitialAccessModel clientInitialAccess)
RegistrationAuth requireCreate(ClientRegistrationContext context)
Definition: ClientRegistrationAuth.java:126