keycloak-service
公開メンバ関数 | 静的公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 静的限定公開変数類 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.services.resources.admin.ClientResource クラス
org.keycloak.services.resources.admin.ClientResource 連携図
Collaboration graph

公開メンバ関数

 ClientResource (RealmModel realm, AdminPermissionEvaluator auth, ClientModel clientModel, KeycloakSession session, AdminEventBuilder adminEvent)
 
ProtocolMappersResource getProtocolMappers ()
 
Response update (final ClientRepresentation rep)
 
ClientRepresentation getClient ()
 
ClientAttributeCertificateResource getCertficateResource (@PathParam("attr") String attributePrefix)
 
Response getInstallationProvider (@PathParam("providerId") String providerId)
 
void deleteClient ()
 
CredentialRepresentation regenerateSecret ()
 
ClientRepresentation regenerateRegistrationAccessToken ()
 
CredentialRepresentation getClientSecret ()
 
ScopeMappedResource getScopeMappedResource ()
 
RoleContainerResource getRoleContainerResource ()
 
List< ClientScopeRepresentation > getDefaultClientScopes ()
 
void addDefaultClientScope (@PathParam("clientScopeId") String clientScopeId)
 
void removeDefaultClientScope (@PathParam("clientScopeId") String clientScopeId)
 
List< ClientScopeRepresentation > getOptionalClientScopes ()
 
void addOptionalClientScope (@PathParam("clientScopeId") String clientScopeId)
 
void removeOptionalClientScope (@PathParam("clientScopeId") String clientScopeId)
 
ClientScopeEvaluateResource clientScopeEvaluateResource ()
 
UserRepresentation getServiceAccountUser ()
 
GlobalRequestResult pushRevocation ()
 
Map< String, Long > getApplicationSessionCount ()
 
List< UserSessionRepresentation > getUserSessions (@QueryParam("first") Integer firstResult, @QueryParam("max") Integer maxResults)
 
Map< String, Long > getOfflineSessionCount ()
 
List< UserSessionRepresentation > getOfflineUserSessions (@QueryParam("first") Integer firstResult, @QueryParam("max") Integer maxResults)
 
void registerNode (Map< String, String > formParams)
 
void unregisterNode (final @PathParam("node") String node)
 
GlobalRequestResult testNodesAvailable ()
 
AuthorizationService authorization ()
 
ManagementPermissionReference getManagementPermissions ()
 
ManagementPermissionReference setManagementPermissionsEnabled (ManagementPermissionReference ref)
 

静的公開メンバ関数

static ManagementPermissionReference toMgmtRef (ClientModel client, AdminPermissionManagement permissions)
 

限定公開メンバ関数

KeycloakApplication getKeycloakApplication ()
 

限定公開変数類

RealmModel realm
 
ClientModel client
 
KeycloakSession session
 
KeycloakApplication keycloak
 
ClientConnection clientConnection
 

静的限定公開変数類

static final Logger logger = Logger.getLogger(ClientResource.class)
 

非公開メンバ関数

List< ClientScopeRepresentation > getDefaultClientScopes (boolean defaultScope)
 
void addDefaultClientScope (String clientScopeId, boolean defaultScope)
 
void updateClientFromRep (ClientRepresentation rep, ClientModel client, KeycloakSession session) throws ModelDuplicateException
 
void updateAuthorizationSettings (ClientRepresentation rep)
 

非公開変数類

AdminPermissionEvaluator auth
 
AdminEventBuilder adminEvent
 

詳解

Base resource class for managing one particular client of a realm.

Clients

著者
Bill Burke
バージョン
Revision
1

構築子と解体子

◆ ClientResource()

org.keycloak.services.resources.admin.ClientResource.ClientResource ( RealmModel  realm,
AdminPermissionEvaluator  auth,
ClientModel  clientModel,
KeycloakSession  session,
AdminEventBuilder  adminEvent 
)
inline
115  {
116  this.realm = realm;
117  this.auth = auth;
118  this.client = clientModel;
119  this.session = session;
120  this.adminEvent = adminEvent.resource(ResourceType.CLIENT);
121  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
ClientModel client
Definition: ClientResource.java:102
RealmModel realm
Definition: ClientResource.java:99

関数詳解

◆ addDefaultClientScope() [1/2]

void org.keycloak.services.resources.admin.ClientResource.addDefaultClientScope ( @PathParam("clientScopeId") String  clientScopeId)
inline
326  {
327  addDefaultClientScope(clientScopeId,true);
328  }
void addDefaultClientScope(@PathParam("clientScopeId") String clientScopeId)
Definition: ClientResource.java:326

◆ addDefaultClientScope() [2/2]

void org.keycloak.services.resources.admin.ClientResource.addDefaultClientScope ( String  clientScopeId,
boolean  defaultScope 
)
inlineprivate
330  {
332 
333  ClientScopeModel clientScope = realm.getClientScopeById(clientScopeId);
334  if (clientScope == null) {
335  throw new org.jboss.resteasy.spi.NotFoundException("Client scope not found");
336  }
337  client.addClientScope(clientScope, defaultScope);
338 
339  adminEvent.operation(OperationType.CREATE).resource(ResourceType.CLIENT).resourcePath(session.getContext().getUri()).success();
340  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
ClientModel client
Definition: ClientResource.java:102
RealmModel realm
Definition: ClientResource.java:99
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171

◆ addOptionalClientScope()

void org.keycloak.services.resources.admin.ClientResource.addOptionalClientScope ( @PathParam("clientScopeId") String  clientScopeId)
inline
375  {
376  addDefaultClientScope(clientScopeId, false);
377  }
void addDefaultClientScope(@PathParam("clientScopeId") String clientScopeId)
Definition: ClientResource.java:326

◆ authorization()

AuthorizationService org.keycloak.services.resources.admin.ClientResource.authorization ( )
inline
608  {
609  ProfileHelper.requireFeature(Profile.Feature.AUTHORIZATION);
610 
611  AuthorizationService resource = new AuthorizationService(this.session, this.client, this.auth, adminEvent);
612 
613  ResteasyProviderFactory.getInstance().injectProperties(resource);
614 
615  return resource;
616  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102

◆ clientScopeEvaluateResource()

ClientScopeEvaluateResource org.keycloak.services.resources.admin.ClientResource.clientScopeEvaluateResource ( )
inline
387  {
388  return new ClientScopeEvaluateResource(session, session.getContext().getUri(), realm, auth, client, clientConnection);
389  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
ClientConnection clientConnection
Definition: ClientResource.java:109
ClientModel client
Definition: ClientResource.java:102
RealmModel realm
Definition: ClientResource.java:99

◆ deleteClient()

void org.keycloak.services.resources.admin.ClientResource.deleteClient ( )
inline

Delete the client

208  {
210 
211  if (client == null) {
212  throw new NotFoundException("Could not find client");
213  }
214 
215  new ClientManager(new RealmManager(session)).removeClient(realm, client);
216  adminEvent.operation(OperationType.DELETE).resourcePath(session.getContext().getUri()).success();
217  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
ClientModel client
Definition: ClientResource.java:102
RealmModel realm
Definition: ClientResource.java:99
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171

◆ getApplicationSessionCount()

Map<String, Long> org.keycloak.services.resources.admin.ClientResource.getApplicationSessionCount ( )
inline

Get application session count

Returns a number of user sessions associated with this client

{ "count": number }

戻り値
447  {
449 
450  Map<String, Long> map = new HashMap<>();
451  map.put("count", session.sessions().getActiveUserSessions(client.getRealm(), client));
452  return map;
453  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
ClientModel client
Definition: ClientResource.java:102

◆ getCertficateResource()

ClientAttributeCertificateResource org.keycloak.services.resources.admin.ClientResource.getCertficateResource ( @PathParam("attr") String  attributePrefix)
inline

Get representation of certificate resource

引数
attributePrefix
戻り値
187  {
188  return new ClientAttributeCertificateResource(realm, auth, client, session, attributePrefix, adminEvent);
189  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
RealmModel realm
Definition: ClientResource.java:99

◆ getClient()

ClientRepresentation org.keycloak.services.resources.admin.ClientResource.getClient ( )
inline

Get representation of the client

戻り値
170  {
172 
173  ClientRepresentation representation = ModelToRepresentation.toRepresentation(client, session);
174 
175  representation.setAccess(auth.clients().getAccess(client));
176 
177  return representation;
178  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
ClientModel client
Definition: ClientResource.java:102

◆ getClientSecret()

CredentialRepresentation org.keycloak.services.resources.admin.ClientResource.getClientSecret ( )
inline

Get the client secret

戻り値
269  {
271 
272  logger.debug("getClientSecret");
273  UserCredentialModel model = UserCredentialModel.secret(client.getSecret());
274  if (model == null) throw new NotFoundException("Client does not have a secret");
275  return ModelToRepresentation.toRepresentation(model);
276  }
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
static final Logger logger
Definition: ClientResource.java:98
ClientModel client
Definition: ClientResource.java:102

◆ getDefaultClientScopes() [1/2]

List<ClientScopeRepresentation> org.keycloak.services.resources.admin.ClientResource.getDefaultClientScopes ( )
inline

Get default client scopes. Only name and ids are returned.

戻り値
305  {
306  return getDefaultClientScopes(true);
307  }
List< ClientScopeRepresentation > getDefaultClientScopes()
Definition: ClientResource.java:305

◆ getDefaultClientScopes() [2/2]

List<ClientScopeRepresentation> org.keycloak.services.resources.admin.ClientResource.getDefaultClientScopes ( boolean  defaultScope)
inlineprivate
309  {
311 
312  List<ClientScopeRepresentation> defaults = new LinkedList<>();
313  for (ClientScopeModel clientScope : client.getClientScopes(defaultScope, true).values()) {
314  ClientScopeRepresentation rep = new ClientScopeRepresentation();
315  rep.setId(clientScope.getId());
316  rep.setName(clientScope.getName());
317  defaults.add(rep);
318  }
319  return defaults;
320  }
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
ClientModel client
Definition: ClientResource.java:102

◆ getInstallationProvider()

Response org.keycloak.services.resources.admin.ClientResource.getInstallationProvider ( @PathParam("providerId") String  providerId)
inline
194  {
196 
197  ClientInstallationProvider provider = session.getProvider(ClientInstallationProvider.class, providerId);
198  if (provider == null) throw new NotFoundException("Unknown Provider");
199  return provider.generateInstallation(session, realm, client, keycloak.getBaseUri(session.getContext().getUri()));
200  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
ClientModel client
Definition: ClientResource.java:102
RealmModel realm
Definition: ClientResource.java:99
URI getBaseUri(UriInfo uriInfo)
Definition: KeycloakApplication.java:265
KeycloakApplication keycloak
Definition: ClientResource.java:106

◆ getKeycloakApplication()

KeycloakApplication org.keycloak.services.resources.admin.ClientResource.getKeycloakApplication ( )
inlineprotected
111  {
112  return keycloak;
113  }
KeycloakApplication keycloak
Definition: ClientResource.java:106

◆ getManagementPermissions()

ManagementPermissionReference org.keycloak.services.resources.admin.ClientResource.getManagementPermissions ( )
inline

Return object stating whether client Authorization permissions have been initialized or not and a reference

戻り値
627  {
629 
630  AdminPermissionManagement permissions = AdminPermissions.management(session, realm);
631  if (!permissions.clients().isPermissionsEnabled(client)) {
632  return new ManagementPermissionReference();
633  }
634  return toMgmtRef(client, permissions);
635  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
static ManagementPermissionReference toMgmtRef(ClientModel client, AdminPermissionManagement permissions)
Definition: ClientResource.java:637
ClientModel client
Definition: ClientResource.java:102
RealmModel realm
Definition: ClientResource.java:99

◆ getOfflineSessionCount()

Map<String, Long> org.keycloak.services.resources.admin.ClientResource.getOfflineSessionCount ( )
inline

Get application offline session count

Returns a number of offline user sessions associated with this client

{ "count": number }

戻り値
496  {
498 
499  Map<String, Long> map = new HashMap<>();
500  map.put("count", session.sessions().getOfflineSessionsCount(client.getRealm(), client));
501  return map;
502  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
ClientModel client
Definition: ClientResource.java:102

◆ getOfflineUserSessions()

List<UserSessionRepresentation> org.keycloak.services.resources.admin.ClientResource.getOfflineUserSessions ( @QueryParam("first") Integer  firstResult,
@QueryParam("max") Integer  maxResults 
)
inline

Get offline sessions for client

Returns a list of offline user sessions associated with this client

引数
firstResultPaging offset
maxResultsMaximum results size (defaults to 100)
戻り値
517  {
519 
520  firstResult = firstResult != null ? firstResult : -1;
521  maxResults = maxResults != null ? maxResults : Constants.DEFAULT_MAX_RESULTS;
522  List<UserSessionRepresentation> sessions = new ArrayList<UserSessionRepresentation>();
523  List<UserSessionModel> userSessions = session.sessions().getOfflineUserSessions(client.getRealm(), client, firstResult, maxResults);
524  for (UserSessionModel userSession : userSessions) {
525  UserSessionRepresentation rep = ModelToRepresentation.toRepresentation(userSession);
526 
527  // Update lastSessionRefresh with the timestamp from clientSession
528  for (Map.Entry<String, AuthenticatedClientSessionModel> csEntry : userSession.getAuthenticatedClientSessions().entrySet()) {
529  String clientUuid = csEntry.getKey();
530  AuthenticatedClientSessionModel clientSession = csEntry.getValue();
531 
532  if (client.getId().equals(clientUuid)) {
533  rep.setLastAccess(Time.toMillis(clientSession.getTimestamp()));
534  break;
535  }
536  }
537 
538  sessions.add(rep);
539  }
540  return sessions;
541  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
ClientModel client
Definition: ClientResource.java:102

◆ getOptionalClientScopes()

List<ClientScopeRepresentation> org.keycloak.services.resources.admin.ClientResource.getOptionalClientScopes ( )
inline

Get optional client scopes. Only name and ids are returned.

戻り値
368  {
369  return getDefaultClientScopes(false);
370  }
List< ClientScopeRepresentation > getDefaultClientScopes()
Definition: ClientResource.java:305

◆ getProtocolMappers()

ProtocolMappersResource org.keycloak.services.resources.admin.ClientResource.getProtocolMappers ( )
inline
124  {
125  AdminPermissionEvaluator.RequirePermissionCheck manageCheck = () -> auth.clients().requireManage(client);
126  AdminPermissionEvaluator.RequirePermissionCheck viewCheck = () -> auth.clients().requireView(client);
127  ProtocolMappersResource mappers = new ProtocolMappersResource(realm, client, auth, adminEvent, manageCheck, viewCheck);
128  ResteasyProviderFactory.getInstance().injectProperties(mappers);
129  return mappers;
130  }
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
RealmModel realm
Definition: ClientResource.java:99

◆ getRoleContainerResource()

RoleContainerResource org.keycloak.services.resources.admin.ClientResource.getRoleContainerResource ( )
inline
291  {
292  return new RoleContainerResource(session, session.getContext().getUri(), realm, auth, client, adminEvent);
293  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
RealmModel realm
Definition: ClientResource.java:99

◆ getScopeMappedResource()

ScopeMappedResource org.keycloak.services.resources.admin.ClientResource.getScopeMappedResource ( )
inline

Base path for managing the scope mappings for the client

戻り値
284  {
285  AdminPermissionEvaluator.RequirePermissionCheck manageCheck = () -> auth.clients().requireManage(client);
286  AdminPermissionEvaluator.RequirePermissionCheck viewCheck = () -> auth.clients().requireView(client);
287  return new ScopeMappedResource(realm, auth, client, session, adminEvent, manageCheck, viewCheck);
288  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
RealmModel realm
Definition: ClientResource.java:99

◆ getServiceAccountUser()

UserRepresentation org.keycloak.services.resources.admin.ClientResource.getServiceAccountUser ( )
inline

Get a user dedicated to the service account

戻り値
400  {
402 
403  UserModel user = session.users().getServiceAccount(client);
404  if (user == null) {
405  if (client.isServiceAccountsEnabled()) {
406  new ClientManager(new RealmManager(session)).enableServiceAccount(client);
407  user = session.users().getServiceAccount(client);
408  } else {
409  throw new BadRequestException("Service account not enabled for the client '" + client.getClientId() + "'");
410  }
411  }
412 
413  return ModelToRepresentation.toRepresentation(session, realm, user);
414  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
ClientModel client
Definition: ClientResource.java:102
RealmModel realm
Definition: ClientResource.java:99

◆ getUserSessions()

List<UserSessionRepresentation> org.keycloak.services.resources.admin.ClientResource.getUserSessions ( @QueryParam("first") Integer  firstResult,
@QueryParam("max") Integer  maxResults 
)
inline

Get user sessions for client

Returns a list of user sessions associated with this client

引数
firstResultPaging offset
maxResultsMaximum results size (defaults to 100)
戻り値
468  {
470 
471  firstResult = firstResult != null ? firstResult : -1;
472  maxResults = maxResults != null ? maxResults : Constants.DEFAULT_MAX_RESULTS;
473  List<UserSessionRepresentation> sessions = new ArrayList<UserSessionRepresentation>();
474  for (UserSessionModel userSession : session.sessions().getUserSessions(client.getRealm(), client, firstResult, maxResults)) {
475  UserSessionRepresentation rep = ModelToRepresentation.toRepresentation(userSession);
476  sessions.add(rep);
477  }
478  return sessions;
479  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
ClientModel client
Definition: ClientResource.java:102

◆ pushRevocation()

GlobalRequestResult org.keycloak.services.resources.admin.ClientResource.pushRevocation ( )
inline

Push the client's revocation policy to its admin URL

If the client has an admin URL, push revocation policy to it.

424  {
426 
427  adminEvent.operation(OperationType.ACTION).resourcePath(session.getContext().getUri()).resource(ResourceType.CLIENT).success();
428  return new ResourceAdminManager(session).pushClientRevocationPolicy(session.getContext().getUri().getRequestUri(), realm, client);
429 
430  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
ClientModel client
Definition: ClientResource.java:102
void success()
Definition: AdminEventBuilder.java:226
RealmModel realm
Definition: ClientResource.java:99
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171

◆ regenerateRegistrationAccessToken()

ClientRepresentation org.keycloak.services.resources.admin.ClientResource.regenerateRegistrationAccessToken ( )
inline

Generate a new registration access token for the client

戻り値
248  {
250 
251  String token = ClientRegistrationTokenUtils.updateRegistrationAccessToken(session, realm, client, RegistrationAuth.AUTHENTICATED);
252 
253  ClientRepresentation rep = ModelToRepresentation.toRepresentation(client, session);
254  rep.setRegistrationAccessToken(token);
255 
256  adminEvent.operation(OperationType.ACTION).resourcePath(session.getContext().getUri()).representation(rep).success();
257  return rep;
258  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
ClientModel client
Definition: ClientResource.java:102
void success()
Definition: AdminEventBuilder.java:226
RealmModel realm
Definition: ClientResource.java:99
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171

◆ regenerateSecret()

CredentialRepresentation org.keycloak.services.resources.admin.ClientResource.regenerateSecret ( )
inline

Generate a new secret for the client

戻り値
229  {
231 
232  logger.debug("regenerateSecret");
233  UserCredentialModel cred = KeycloakModelUtils.generateSecret(client);
234  CredentialRepresentation rep = ModelToRepresentation.toRepresentation(cred);
235  adminEvent.operation(OperationType.ACTION).resourcePath(session.getContext().getUri()).representation(rep).success();
236  return rep;
237  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
static final Logger logger
Definition: ClientResource.java:98
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
ClientModel client
Definition: ClientResource.java:102
void success()
Definition: AdminEventBuilder.java:226
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171

◆ registerNode()

void org.keycloak.services.resources.admin.ClientResource.registerNode ( Map< String, String >  formParams)
inline

Register a cluster node with the client

Manually register cluster node to this client - usually it's not needed to call this directly as adapter should handle by sending registration request to Keycloak

引数
formParams
554  {
556 
557  String node = formParams.get("node");
558  if (node == null) {
559  throw new BadRequestException("Node not found in params");
560  }
561  if (logger.isDebugEnabled()) logger.debug("Register node: " + node);
562  client.registerNode(node, Time.currentTime());
563  adminEvent.operation(OperationType.CREATE).resource(ResourceType.CLUSTER_NODE).resourcePath(session.getContext().getUri(), node).success();
564  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
static final Logger logger
Definition: ClientResource.java:98
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
ClientModel client
Definition: ClientResource.java:102
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171

◆ removeDefaultClientScope()

void org.keycloak.services.resources.admin.ClientResource.removeDefaultClientScope ( @PathParam("clientScopeId") String  clientScopeId)
inline
346  {
348 
349  ClientScopeModel clientScope = realm.getClientScopeById(clientScopeId);
350  if (clientScope == null) {
351  throw new org.jboss.resteasy.spi.NotFoundException("Client scope not found");
352  }
353  client.removeClientScope(clientScope);
354 
355  adminEvent.operation(OperationType.DELETE).resource(ResourceType.CLIENT).resourcePath(session.getContext().getUri()).success();
356  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
ClientModel client
Definition: ClientResource.java:102
RealmModel realm
Definition: ClientResource.java:99
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171

◆ removeOptionalClientScope()

void org.keycloak.services.resources.admin.ClientResource.removeOptionalClientScope ( @PathParam("clientScopeId") String  clientScopeId)
inline
382  {
383  removeDefaultClientScope(clientScopeId);
384  }
void removeDefaultClientScope(@PathParam("clientScopeId") String clientScopeId)
Definition: ClientResource.java:346

◆ setManagementPermissionsEnabled()

ManagementPermissionReference org.keycloak.services.resources.admin.ClientResource.setManagementPermissionsEnabled ( ManagementPermissionReference  ref)
inline

Return object stating whether client Authorization permissions have been initialized or not and a reference

戻り値
initialized manage permissions reference
657  {
659  AdminPermissionManagement permissions = AdminPermissions.management(session, realm);
660  permissions.clients().setPermissionsEnabled(client, ref.isEnabled());
661  if (ref.isEnabled()) {
662  return toMgmtRef(client, permissions);
663  } else {
664  return new ManagementPermissionReference();
665  }
666  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
static ManagementPermissionReference toMgmtRef(ClientModel client, AdminPermissionManagement permissions)
Definition: ClientResource.java:637
ClientModel client
Definition: ClientResource.java:102
RealmModel realm
Definition: ClientResource.java:99

◆ testNodesAvailable()

GlobalRequestResult org.keycloak.services.resources.admin.ClientResource.testNodesAvailable ( )
inline

Test if registered cluster nodes are available

Tests availability by sending 'ping' request to all cluster nodes.

戻り値
598  {
600 
601  logger.debug("Test availability of cluster nodes");
602  GlobalRequestResult result = new ResourceAdminManager(session).testNodesAvailability(session.getContext().getUri().getRequestUri(), realm, client);
603  adminEvent.operation(OperationType.ACTION).resource(ResourceType.CLUSTER_NODE).resourcePath(session.getContext().getUri()).representation(result).success();
604  return result;
605  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
static final Logger logger
Definition: ClientResource.java:98
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
ClientModel client
Definition: ClientResource.java:102
void success()
Definition: AdminEventBuilder.java:226
RealmModel realm
Definition: ClientResource.java:99
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171

◆ toMgmtRef()

static ManagementPermissionReference org.keycloak.services.resources.admin.ClientResource.toMgmtRef ( ClientModel  client,
AdminPermissionManagement  permissions 
)
inlinestatic
637  {
638  ManagementPermissionReference ref = new ManagementPermissionReference();
639  ref.setEnabled(true);
640  ref.setResource(permissions.clients().resource(client).getId());
641  ref.setScopePermissions(permissions.clients().getPermissions(client));
642  return ref;
643  }
ClientModel client
Definition: ClientResource.java:102

◆ unregisterNode()

void org.keycloak.services.resources.admin.ClientResource.unregisterNode ( final @PathParam("node") String  node)
inline

Unregister a cluster node from the client

引数
node
574  {
576 
577  if (logger.isDebugEnabled()) logger.debug("Unregister node: " + node);
578 
579  Integer time = client.getRegisteredNodes().get(node);
580  if (time == null) {
581  throw new NotFoundException("Client does not have node ");
582  }
583  client.unregisterNode(node);
584  adminEvent.operation(OperationType.DELETE).resource(ResourceType.CLUSTER_NODE).resourcePath(session.getContext().getUri()).success();
585  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
static final Logger logger
Definition: ClientResource.java:98
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
ClientModel client
Definition: ClientResource.java:102
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171

◆ update()

Response org.keycloak.services.resources.admin.ClientResource.update ( final ClientRepresentation  rep)
inline

Update the client

引数
rep
戻り値
139  {
141 
142  ValidationMessages validationMessages = new ValidationMessages();
143  if (!ClientValidator.validate(rep, validationMessages) || !PairwiseClientValidator.validate(session, rep, validationMessages)) {
144  Properties messages = AdminRoot.getMessages(session, realm, auth.adminAuth().getToken().getLocale());
145  throw new ErrorResponseException(
146  validationMessages.getStringMessages(),
147  validationMessages.getStringMessages(messages),
148  Response.Status.BAD_REQUEST
149  );
150  }
151 
152  try {
154  adminEvent.operation(OperationType.UPDATE).resourcePath(session.getContext().getUri()).representation(rep).success();
156  return Response.noContent().build();
157  } catch (ModelDuplicateException e) {
158  return ErrorResponse.exists("Client " + rep.getClientId() + " already exists");
159  }
160  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
AccessToken getToken()
Definition: AdminAuth.java:56
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
void updateClientFromRep(ClientRepresentation rep, ClientModel client, KeycloakSession session)
Definition: ClientResource.java:669
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
ClientModel client
Definition: ClientResource.java:102
void updateAuthorizationSettings(ClientRepresentation rep)
Definition: ClientResource.java:693
void success()
Definition: AdminEventBuilder.java:226
RealmModel realm
Definition: ClientResource.java:99
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171

◆ updateAuthorizationSettings()

void org.keycloak.services.resources.admin.ClientResource.updateAuthorizationSettings ( ClientRepresentation  rep)
inlineprivate
693  {
694  if (Profile.isFeatureEnabled(Profile.Feature.AUTHORIZATION)) {
695  if (TRUE.equals(rep.getAuthorizationServicesEnabled())) {
696  authorization().enable(false);
697  } else {
699  }
700  }
701  }
void disable()
Definition: AuthorizationService.java:63
AuthorizationService authorization()
Definition: ClientResource.java:608
void enable(boolean newClient)
Definition: AuthorizationService.java:59

◆ updateClientFromRep()

void org.keycloak.services.resources.admin.ClientResource.updateClientFromRep ( ClientRepresentation  rep,
ClientModel  client,
KeycloakSession  session 
) throws ModelDuplicateException
inlineprivate
669  {
670  UserModel serviceAccount = this.session.users().getServiceAccount(client);
671  if (TRUE.equals(rep.isServiceAccountsEnabled())) {
672  if (serviceAccount == null) {
673  new ClientManager(new RealmManager(session)).enableServiceAccount(client);
674  }
675  }
676  else {
677  if (serviceAccount != null) {
678  new UserManager(session).removeUser(realm, serviceAccount);
679  }
680  }
681 
682  if (!rep.getClientId().equals(client.getClientId())) {
683  new ClientManager(new RealmManager(session)).clientIdChanged(client, rep.getClientId());
684  }
685 
686  if (rep.isFullScopeAllowed() != null && rep.isFullScopeAllowed() != client.isFullScopeAllowed()) {
688  }
689 
690  RepresentationToModel.updateClient(rep, client);
691  }
KeycloakSession session
Definition: ClientResource.java:103
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
ClientModel client
Definition: ClientResource.java:102
RealmModel realm
Definition: ClientResource.java:99

メンバ詳解

◆ adminEvent

AdminEventBuilder org.keycloak.services.resources.admin.ClientResource.adminEvent
private

◆ auth

AdminPermissionEvaluator org.keycloak.services.resources.admin.ClientResource.auth
private

◆ client

ClientModel org.keycloak.services.resources.admin.ClientResource.client
protected

◆ clientConnection

ClientConnection org.keycloak.services.resources.admin.ClientResource.clientConnection
protected

◆ keycloak

KeycloakApplication org.keycloak.services.resources.admin.ClientResource.keycloak
protected

◆ logger

final Logger org.keycloak.services.resources.admin.ClientResource.logger = Logger.getLogger(ClientResource.class)
staticprotected

◆ realm

RealmModel org.keycloak.services.resources.admin.ClientResource.realm
protected

◆ session

KeycloakSession org.keycloak.services.resources.admin.ClientResource.session
protected

このクラス詳解は次のファイルから抽出されました: