Package org.keycloak.storage
Class ClientStorageManager
- java.lang.Object
- 
- org.keycloak.storage.ClientStorageManager
 
- 
- All Implemented Interfaces:
- ClientProvider,- Provider,- ClientLookupProvider
 
 public class ClientStorageManager extends Object implements ClientProvider - Version:
- $Revision: 1 $
- Author:
- Bill Burke
 
- 
- 
Field SummaryFields Modifier and Type Field Description protected KeycloakSessionsession
 - 
Constructor SummaryConstructors Constructor Description ClientStorageManager(KeycloakSession session, long clientStorageProviderTimeout)
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ClientModeladdClient(RealmModel realm, String clientId)Adds a client with givenclientIdto the given realm.ClientModeladdClient(RealmModel realm, String id, String clientId)Adds a client with given internal ID andclientIdto the given realm.voidaddClientScopes(RealmModel realm, ClientModel client, Set<ClientScopeModel> clientScopes, boolean defaultScope)Assign clientScopes to the client.voidclose()Map<ClientModel,Set<String>>getAllRedirectUrisOfEnabledClients(RealmModel realm)Returns a map of (rootUrl, {validRedirectUris}) for all enabled clients.Stream<ClientModel>getAlwaysDisplayInConsoleClientsStream(RealmModel realm)Returns a stream of clients that are expected to always show up in account console.ClientModelgetClientByClientId(RealmModel realm, String clientId)Exact search for a client by its public client identifier.ClientModelgetClientById(RealmModel realm, String id)Exact search for a client by its internal ID.Map<String,ClientScopeModel>getClientScopes(RealmModel realm, ClientModel client, boolean defaultScopes)Return all default scopes (ifdefaultScopeistrue) or all optional scopes (ifdefaultScopeisfalse) linked with the clientlonggetClientsCount(RealmModel realm)Returns number of clients in the given realmStream<ClientModel>getClientsStream(RealmModel realm)Returns all the clients of the given realm as a stream.Stream<ClientModel>getClientsStream(RealmModel realm, Integer firstResult, Integer maxResults)Returns the clients of the given realm as a stream.static <T> Stream<T>getEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class<T> type)static ClientStorageProvidergetStorageProvider(KeycloakSession session, RealmModel realm, String componentId)static ClientStorageProvidergetStorageProviderInstance(KeycloakSession session, ClientStorageProviderModel model, ClientStorageProviderFactory factory)static ClientStorageProviderModelgetStorageProviderModel(RealmModel realm, String componentId)static <T> Stream<T>getStorageProviders(KeycloakSession session, RealmModel realm, Class<T> type)static booleanhasEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class<?> type)static booleanisStorageProviderEnabled(RealmModel realm, String providerId)protected Stream<ClientModel>query(org.keycloak.storage.ClientStorageManager.PaginatedQuery paginatedQuery, RealmModel realm, Integer firstResult, Integer maxResults)booleanremoveClient(RealmModel realm, String id)Removes given client from the given realm.voidremoveClients(RealmModel realm)Removes all clients from the given realm.voidremoveClientScope(RealmModel realm, ClientModel client, ClientScopeModel clientScope)Unassign clientScope from the client.Stream<ClientModel>searchClientsByAttributes(RealmModel realm, Map<String,String> attributes, Integer firstResult, Integer maxResults)Stream<ClientModel>searchClientsByClientIdStream(RealmModel realm, String clientId, Integer firstResult, Integer maxResults)Case-insensitive search for clients that contain the given string in their public client identifier.
 
- 
- 
- 
Field Detail- 
sessionprotected KeycloakSession session 
 
- 
 - 
Constructor Detail- 
ClientStorageManagerpublic ClientStorageManager(KeycloakSession session, long clientStorageProviderTimeout) 
 
- 
 - 
Method Detail- 
isStorageProviderEnabledpublic static boolean isStorageProviderEnabled(RealmModel realm, String providerId) 
 - 
getStorageProviderModelpublic static ClientStorageProviderModel getStorageProviderModel(RealmModel realm, String componentId) 
 - 
getStorageProviderpublic static ClientStorageProvider getStorageProvider(KeycloakSession session, RealmModel realm, String componentId) 
 - 
getStorageProviderInstancepublic static ClientStorageProvider getStorageProviderInstance(KeycloakSession session, ClientStorageProviderModel model, ClientStorageProviderFactory factory) 
 - 
getStorageProviderspublic static <T> Stream<T> getStorageProviders(KeycloakSession session, RealmModel realm, Class<T> type) 
 - 
getEnabledStorageProviderspublic static <T> Stream<T> getEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class<T> type) 
 - 
hasEnabledStorageProviderspublic static boolean hasEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class<?> type) 
 - 
getClientByIdpublic ClientModel getClientById(RealmModel realm, String id) Description copied from interface:ClientLookupProviderExact search for a client by its internal ID.- Specified by:
- getClientByIdin interface- ClientLookupProvider
- Parameters:
- realm- Realm to limit the search.
- id- Internal ID
- Returns:
- Model of the client, or nullif no client is found.
 
 - 
getClientByClientIdpublic ClientModel getClientByClientId(RealmModel realm, String clientId) Description copied from interface:ClientLookupProviderExact search for a client by its public client identifier.- Specified by:
- getClientByClientIdin interface- ClientLookupProvider
- Parameters:
- realm- Realm to limit the search for clients.
- clientId- String that identifies the client to the external parties. Maps to- client_idin OIDC or- entityIDin SAML.
- Returns:
- Model of the client, or nullif no client is found.
 
 - 
searchClientsByClientIdStreampublic Stream<ClientModel> searchClientsByClientIdStream(RealmModel realm, String clientId, Integer firstResult, Integer maxResults) Description copied from interface:ClientLookupProviderCase-insensitive search for clients that contain the given string in their public client identifier.- Specified by:
- searchClientsByClientIdStreamin interface- ClientLookupProvider
- Parameters:
- realm- Realm to limit the search for clients.
- clientId- Searched substring of the public client identifier (- client_idin OIDC or- entityIDin SAML.)
- firstResult- First result to return. Ignored if negative or- null.
- maxResults- Maximum number of results to return. Ignored if negative or- null.
- Returns:
- Stream of ClientModel or an empty stream if no client is found. Never returns null.
 
 - 
searchClientsByAttributespublic Stream<ClientModel> searchClientsByAttributes(RealmModel realm, Map<String,String> attributes, Integer firstResult, Integer maxResults) - Specified by:
- searchClientsByAttributesin interface- ClientLookupProvider
 
 - 
queryprotected Stream<ClientModel> query(org.keycloak.storage.ClientStorageManager.PaginatedQuery paginatedQuery, RealmModel realm, Integer firstResult, Integer maxResults) 
 - 
getClientScopespublic Map<String,ClientScopeModel> getClientScopes(RealmModel realm, ClientModel client, boolean defaultScopes) Description copied from interface:ClientLookupProviderReturn all default scopes (ifdefaultScopeistrue) or all optional scopes (ifdefaultScopeisfalse) linked with the client- Specified by:
- getClientScopesin interface- ClientLookupProvider
- Parameters:
- realm- Realm
- client- Client
- defaultScopes- if true default scopes, if false optional scopes, are returned
- Returns:
- map where key is the name of the clientScope, value is particular clientScope. Returns empty map if no scopes linked (never returns null).
 
 - 
addClientpublic ClientModel addClient(RealmModel realm, String clientId) Description copied from interface:ClientProviderAdds a client with givenclientIdto the given realm. The internal ID of the client will be created automatically.- Specified by:
- addClientin interface- ClientProvider
- Parameters:
- realm- Realm owning this client.
- clientId- String that identifies the client to the external parties. Maps to- client_idin OIDC or- entityIDin SAML.
- Returns:
- Model of the created client.
 
 - 
addClientpublic ClientModel addClient(RealmModel realm, String id, String clientId) Description copied from interface:ClientProviderAdds a client with given internal ID andclientIdto the given realm.- Specified by:
- addClientin interface- ClientProvider
- Parameters:
- realm- Realm owning this client.
- id- Internal ID of the client or- nullif one is to be created by the underlying store
- clientId- String that identifies the client to the external parties. Maps to- client_idin OIDC or- entityIDin SAML.
- Returns:
- Model of the created client.
 
 - 
getClientsStreampublic Stream<ClientModel> getClientsStream(RealmModel realm, Integer firstResult, Integer maxResults) Description copied from interface:ClientProviderReturns the clients of the given realm as a stream.- Specified by:
- getClientsStreamin interface- ClientProvider
- Parameters:
- realm- Realm.
- firstResult- First result to return. Ignored if negative or- null.
- maxResults- Maximum number of results to return. Ignored if negative or- null.
- Returns:
- Stream of the clients. Never returns null.
 
 - 
getClientsStreampublic Stream<ClientModel> getClientsStream(RealmModel realm) Description copied from interface:ClientProviderReturns all the clients of the given realm as a stream. Effectively the same as the callgetClientsStream(realm, null, null).- Specified by:
- getClientsStreamin interface- ClientProvider
- Parameters:
- realm- Realm.
- Returns:
- Stream of the clients. Never returns null.
 
 - 
getClientsCountpublic long getClientsCount(RealmModel realm) Description copied from interface:ClientProviderReturns number of clients in the given realm- Specified by:
- getClientsCountin interface- ClientProvider
- Parameters:
- realm- Realm.
- Returns:
- Number of the clients in the given realm.
 
 - 
getAlwaysDisplayInConsoleClientsStreampublic Stream<ClientModel> getAlwaysDisplayInConsoleClientsStream(RealmModel realm) Description copied from interface:ClientProviderReturns a stream of clients that are expected to always show up in account console.- Specified by:
- getAlwaysDisplayInConsoleClientsStreamin interface- ClientProvider
- Parameters:
- realm- Realm owning the clients.
- Returns:
- Stream of the clients. Never returns null.
 
 - 
removeClientspublic void removeClients(RealmModel realm) Description copied from interface:ClientProviderRemoves all clients from the given realm.- Specified by:
- removeClientsin interface- ClientProvider
- Parameters:
- realm- Realm.
 
 - 
addClientScopespublic void addClientScopes(RealmModel realm, ClientModel client, Set<ClientScopeModel> clientScopes, boolean defaultScope) Description copied from interface:ClientProviderAssign clientScopes to the client. Add as default scopes (if parameter 'defaultScope' is true) or optional scopes (if parameter 'defaultScope' is false)- Specified by:
- addClientScopesin interface- ClientProvider
- Parameters:
- realm- Realm.
- client- Client.
- clientScopes- to be assigned
- defaultScope- if true the scopes are assigned as default, or optional in case of false
 
 - 
removeClientScopepublic void removeClientScope(RealmModel realm, ClientModel client, ClientScopeModel clientScope) Description copied from interface:ClientProviderUnassign clientScope from the client.- Specified by:
- removeClientScopein interface- ClientProvider
- Parameters:
- realm- Realm.
- client- Client.
- clientScope- to be unassigned
 
 - 
getAllRedirectUrisOfEnabledClientspublic Map<ClientModel,Set<String>> getAllRedirectUrisOfEnabledClients(RealmModel realm) Description copied from interface:ClientProviderReturns a map of (rootUrl, {validRedirectUris}) for all enabled clients.- Specified by:
- getAllRedirectUrisOfEnabledClientsin interface- ClientProvider
- Returns:
 
 - 
removeClientpublic boolean removeClient(RealmModel realm, String id) Description copied from interface:ClientProviderRemoves given client from the given realm.- Specified by:
- removeClientin interface- ClientProvider
- Parameters:
- realm- Realm.
- id- Internal ID of the client
- Returns:
- trueif the client existed and has been removed,- falseotherwise.
 
 
- 
 
-