157 ValidationMessages validationMessages =
new ValidationMessages();
158 if (!ClientValidator.validate(rep, validationMessages) || !PairwiseClientValidator.validate(
session, rep, validationMessages)) {
160 throw new ErrorResponseException(
161 validationMessages.getStringMessages(),
162 validationMessages.getStringMessages(messages),
163 Response.Status.BAD_REQUEST
168 ClientModel clientModel = ClientManager.createClient(
session,
realm, rep,
true);
170 if (TRUE.equals(rep.isServiceAccountsEnabled())) {
171 UserModel serviceAccount =
session.users().getServiceAccount(clientModel);
173 if (serviceAccount == null) {
174 new ClientManager(
new RealmManager(
session)).enableServiceAccount(clientModel);
180 if (Profile.isFeatureEnabled(Profile.Feature.AUTHORIZATION)) {
181 if (TRUE.equals(rep.getAuthorizationServicesEnabled())) {
184 authorizationService.enable(
true);
186 ResourceServerRepresentation authorizationSettings = rep.getAuthorizationSettings();
188 if (authorizationSettings != null) {
189 authorizationService.resourceServer().importSettings(authorizationSettings);
194 return Response.created(
session.getContext().getUri().getAbsolutePathBuilder().path(clientModel.getId()).build()).build();
195 }
catch (ModelDuplicateException e) {
196 return ErrorResponse.exists(
"Client " + rep.getClientId() +
" already exists");
KeycloakSession session
Definition: ClientsResource.java:78
ClientPermissionEvaluator clients()
AccessToken getToken()
Definition: AdminAuth.java:56
AuthorizationService getAuthorizationService(ClientModel clientModel)
Definition: ClientsResource.java:140
RealmModel realm
Definition: ClientsResource.java:73
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
void success()
Definition: AdminEventBuilder.java:226
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
AdminPermissionEvaluator auth
Definition: ClientsResource.java:74
AdminEventBuilder adminEvent
Definition: ClientsResource.java:75