Generate new client scope for specified service client. The "Frontend" clients, who will use this client scope, will be able to send their access token to authenticate against specified service client
140 logger.debugf(
"Generating audience scope for service client: " + clientId);
142 String clientScopeName = clientId;
145 if (serviceClient == null) {
146 logger.warnf(
"Referenced service client '%s' doesn't exists", clientId);
147 return ErrorResponse.exists(
"Referenced service client doesn't exists");
151 clientScopeModel.
setDescription(
"Client scope useful for frontend clients, which want to call service " + clientId);
152 clientScopeModel.setProtocol(serviceClient.getProtocol()==null ? OIDCLoginProtocol.LOGIN_PROTOCOL : serviceClient.getProtocol());
153 clientScopeModel.setDisplayOnConsentScreen(
true);
155 String consentText = serviceClient.getName() != null ? serviceClient.getName() : serviceClient.getClientId();
156 consentText = consentText.substring(0, 1).toUpperCase() + consentText.substring(1);
157 clientScopeModel.setConsentScreenText(consentText);
160 ProtocolMapperModel audienceMapper = AudienceProtocolMapper.createClaimMapper(
"Audience for " + clientId, clientId, null,
true,
false);
161 clientScopeModel.addProtocolMapper(audienceMapper);
164 for (RoleModel role : serviceClient.getRoles()) {
165 clientScopeModel.addScopeMapping(role);
171 }
catch (ModelDuplicateException e) {
172 return ErrorResponse.exists(
"Client Scope " + clientScopeName +
" already exists");
ClientModel getClientByClientId(String clientId)
KeycloakContext getContext()
void requireManageClientScopes()
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
RealmModel realm
Definition: ClientScopesResource.java:62
UriBuilder getAbsolutePathBuilder()
Definition: KeycloakUriInfo.java:74
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
KeycloakSession session
Definition: ClientScopesResource.java:67
void setDescription(String description)
AdminPermissionEvaluator auth
Definition: ClientScopesResource.java:63
ClientScopeModel addClientScope(String name)
ClientPermissionEvaluator clients()
AdminEventBuilder adminEvent
Definition: ClientScopesResource.java:64
static final Logger logger
Definition: ClientScopesResource.java:61