keycloak
公開メンバ関数 | 静的公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 静的限定公開変数類 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
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< ClientScopeRepresentationgetDefaultClientScopes ()
 
void addDefaultClientScope (@PathParam("clientScopeId") String clientScopeId)
 
void removeDefaultClientScope (@PathParam("clientScopeId") String clientScopeId)
 
List< ClientScopeRepresentationgetOptionalClientScopes ()
 
void addOptionalClientScope (@PathParam("clientScopeId") String clientScopeId)
 
void removeOptionalClientScope (@PathParam("clientScopeId") String clientScopeId)
 
ClientScopeEvaluateResource clientScopeEvaluateResource ()
 
UserRepresentation getServiceAccountUser ()
 
GlobalRequestResult pushRevocation ()
 
Map< String, Long > getApplicationSessionCount ()
 
List< UserSessionRepresentationgetUserSessions (@QueryParam("first") Integer firstResult, @QueryParam("max") Integer maxResults)
 
Map< String, Long > getOfflineSessionCount ()
 
List< UserSessionRepresentationgetOfflineUserSessions (@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< ClientScopeRepresentationgetDefaultClientScopes (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  }
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
KeycloakSession session
Definition: ClientResource.java:103
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
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  }
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
KeycloakSession session
Definition: ClientResource.java:103
void addClientScope(ClientScopeModel clientScope, boolean defaultScope)
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientScopeModel getClientScopeById(String id)
ClientModel client
Definition: ClientResource.java:102
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
RealmModel realm
Definition: ClientResource.java:99

◆ 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  AuthorizationService resource = new AuthorizationService(this.session, this.client, this.auth, adminEvent);
610 
611  ResteasyProviderFactory.getInstance().injectProperties(resource);
612 
613  return resource;
614  }
KeycloakSession session
Definition: ClientResource.java:103
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
AdminPermissionEvaluator auth
Definition: ClientResource.java:100

◆ clientScopeEvaluateResource()

ClientScopeEvaluateResource org.keycloak.services.resources.admin.ClientResource.clientScopeEvaluateResource ( )
inline
387  {
388  return new ClientScopeEvaluateResource(session, session.getContext().getUri(), realm, auth, client, clientConnection);
389  }
ClientConnection clientConnection
Definition: ClientResource.java:109
KeycloakSession session
Definition: ClientResource.java:103
ClientModel client
Definition: ClientResource.java:102
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
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  }
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
KeycloakSession session
Definition: ClientResource.java:103
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
RealmModel realm
Definition: ClientResource.java:99

◆ 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<>();
452  return map;
453  }
KeycloakSession session
Definition: ClientResource.java:103
ClientModel client
Definition: ClientResource.java:102
UserSessionProvider sessions()
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
long getActiveUserSessions(RealmModel realm, ClientModel client)

◆ 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
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
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
ClientModel client
Definition: ClientResource.java:102
AdminPermissionEvaluator auth
Definition: ClientResource.java:100

◆ 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  }
ClientModel client
Definition: ClientResource.java:102
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
static final Logger logger
Definition: ClientResource.java:98

◆ 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  }
Map< String, ClientScopeModel > getClientScopes(boolean defaultScope, boolean filterByProtocol)
ClientModel client
Definition: ClientResource.java:102
AdminPermissionEvaluator auth
Definition: ClientResource.java:100

◆ 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  }
KeycloakApplication keycloak
Definition: ClientResource.java:106
KeycloakSession session
Definition: ClientResource.java:103
< T extends Provider > T getProvider(Class< T > clazz)
ClientModel client
Definition: ClientResource.java:102
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
RealmModel realm
Definition: ClientResource.java:99
URI getBaseUri(UriInfo uriInfo)
Definition: KeycloakApplication.java:265

◆ 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

戻り値
625  {
627 
628  AdminPermissionManagement permissions = AdminPermissions.management(session, realm);
629  if (!permissions.clients().isPermissionsEnabled(client)) {
630  return new ManagementPermissionReference();
631  }
632  return toMgmtRef(client, permissions);
633  }
static ManagementPermissionReference toMgmtRef(ClientModel client, AdminPermissionManagement permissions)
Definition: ClientResource.java:635
KeycloakSession session
Definition: ClientResource.java:103
ClientModel client
Definition: ClientResource.java:102
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
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<>();
501  return map;
502  }
KeycloakSession session
Definition: ClientResource.java:103
long getOfflineSessionsCount(RealmModel realm, ClientModel client)
ClientModel client
Definition: ClientResource.java:102
UserSessionProvider sessions()
AdminPermissionEvaluator auth
Definition: ClientResource.java:100

◆ 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  }
List< UserSessionModel > getOfflineUserSessions(RealmModel realm, UserModel user)
KeycloakSession session
Definition: ClientResource.java:103
ClientModel client
Definition: ClientResource.java:102
UserSessionProvider sessions()
AdminPermissionEvaluator auth
Definition: ClientResource.java:100

◆ 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  }
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
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
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
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
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
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) {
406  new ClientManager(new RealmManager(session)).enableServiceAccount(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
ClientModel client
Definition: ClientResource.java:102
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
UserModel getServiceAccount(ClientModel client)
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
List< UserSessionModel > getUserSessions(RealmModel realm, UserModel user)
ClientModel client
Definition: ClientResource.java:102
UserSessionProvider sessions()
AdminPermissionEvaluator auth
Definition: ClientResource.java:100

◆ 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  }
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
KeycloakSession session
Definition: ClientResource.java:103
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
RealmModel realm
Definition: ClientResource.java:99
URI getRequestUri()
Definition: KeycloakUriInfo.java:53
void success()
Definition: AdminEventBuilder.java:226

◆ 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  }
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
KeycloakSession session
Definition: ClientResource.java:103
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
RealmModel realm
Definition: ClientResource.java:99
void success()
Definition: AdminEventBuilder.java:226

◆ 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  }
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
KeycloakSession session
Definition: ClientResource.java:103
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
static final Logger logger
Definition: ClientResource.java:98
void success()
Definition: AdminEventBuilder.java:226

◆ 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  }
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
KeycloakSession session
Definition: ClientResource.java:103
void registerNode(String nodeHost, int registrationTime)
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
static final Logger logger
Definition: ClientResource.java:98

◆ 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  }
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
KeycloakSession session
Definition: ClientResource.java:103
void removeClientScope(ClientScopeModel clientScope)
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientScopeModel getClientScopeById(String id)
ClientModel client
Definition: ClientResource.java:102
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
RealmModel realm
Definition: ClientResource.java:99

◆ 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
655  {
657  AdminPermissionManagement permissions = AdminPermissions.management(session, realm);
658  permissions.clients().setPermissionsEnabled(client, ref.isEnabled());
659  if (ref.isEnabled()) {
660  return toMgmtRef(client, permissions);
661  } else {
662  return new ManagementPermissionReference();
663  }
664  }
static ManagementPermissionReference toMgmtRef(ClientModel client, AdminPermissionManagement permissions)
Definition: ClientResource.java:635
KeycloakSession session
Definition: ClientResource.java:103
ClientModel client
Definition: ClientResource.java:102
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
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  }
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
KeycloakSession session
Definition: ClientResource.java:103
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
RealmModel realm
Definition: ClientResource.java:99
static final Logger logger
Definition: ClientResource.java:98
URI getRequestUri()
Definition: KeycloakUriInfo.java:53
void success()
Definition: AdminEventBuilder.java:226

◆ toMgmtRef()

static ManagementPermissionReference org.keycloak.services.resources.admin.ClientResource.toMgmtRef ( ClientModel  client,
AdminPermissionManagement  permissions 
)
inlinestatic
635  {
636  ManagementPermissionReference ref = new ManagementPermissionReference();
637  ref.setEnabled(true);
638  ref.setResource(permissions.clients().resource(client).getId());
639  ref.setScopePermissions(permissions.clients().getPermissions(client));
640  return ref;
641  }
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  }
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
KeycloakSession session
Definition: ClientResource.java:103
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
Map< String, Integer > getRegisteredNodes()
ClientModel client
Definition: ClientResource.java:102
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
static final Logger logger
Definition: ClientResource.java:98
void unregisterNode(String nodeHost)

◆ 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  }
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
void updateClientFromRep(ClientRepresentation rep, ClientModel client, KeycloakSession session)
Definition: ClientResource.java:667
KeycloakSession session
Definition: ClientResource.java:103
AccessToken getToken()
Definition: AdminAuth.java:56
void updateAuthorizationSettings(ClientRepresentation rep)
Definition: ClientResource.java:691
String getLocale()
Definition: IDToken.java:296
AdminEventBuilder adminEvent
Definition: ClientResource.java:101
ClientModel client
Definition: ClientResource.java:102
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
AdminPermissionEvaluator auth
Definition: ClientResource.java:100
RealmModel realm
Definition: ClientResource.java:99
void success()
Definition: AdminEventBuilder.java:226

◆ updateAuthorizationSettings()

void org.keycloak.services.resources.admin.ClientResource.updateAuthorizationSettings ( ClientRepresentation  rep)
inlineprivate
691  {
692  if (TRUE.equals(rep.getAuthorizationServicesEnabled())) {
693  authorization().enable(false);
694  } else {
696  }
697  }
void enable(boolean newClient)
Definition: AuthorizationService.java:59
AuthorizationService authorization()
Definition: ClientResource.java:608
void disable()
Definition: AuthorizationService.java:63

◆ updateClientFromRep()

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

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