Package org.keycloak.models.map.client
Class MapClientProvider
- java.lang.Object
-
- org.keycloak.models.map.client.MapClientProvider
-
- All Implemented Interfaces:
ClientProvider,Provider,ClientLookupProvider
public class MapClientProvider extends Object implements ClientProvider
-
-
Constructor Summary
Constructors Constructor Description MapClientProvider(KeycloakSession session, MapStorage<MapClientEntity,ClientModel> clientStore, ConcurrentMap<String,ConcurrentMap<String,Long>> clientRegisteredNodesStore)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.voidpreRemove(RealmModel realm)voidpreRemove(RealmModel realm, RoleModel role)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.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.keycloak.models.ClientProvider
addClient
-
-
-
-
Constructor Detail
-
MapClientProvider
public MapClientProvider(KeycloakSession session, MapStorage<MapClientEntity,ClientModel> clientStore, ConcurrentMap<String,ConcurrentMap<String,Long>> clientRegisteredNodesStore)
-
-
Method Detail
-
getClientsStream
public 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 interfaceClientProvider- Parameters:
realm- Realm.firstResult- First result to return. Ignored if negative ornull.maxResults- Maximum number of results to return. Ignored if negative ornull.- Returns:
- Stream of the clients. Never returns
null.
-
getClientsStream
public 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 interfaceClientProvider- Parameters:
realm- Realm.- Returns:
- Stream of the clients. Never returns
null.
-
addClient
public 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 interfaceClientProvider- Parameters:
realm- Realm owning this client.id- Internal ID of the client ornullif one is to be created by the underlying storeclientId- String that identifies the client to the external parties. Maps toclient_idin OIDC orentityIDin SAML.- Returns:
- Model of the created client.
-
getAlwaysDisplayInConsoleClientsStream
public 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 interfaceClientProvider- Parameters:
realm- Realm owning the clients.- Returns:
- Stream of the clients. Never returns
null.
-
removeClients
public void removeClients(RealmModel realm)
Description copied from interface:ClientProviderRemoves all clients from the given realm.- Specified by:
removeClientsin interfaceClientProvider- Parameters:
realm- Realm.
-
removeClient
public boolean removeClient(RealmModel realm, String id)
Description copied from interface:ClientProviderRemoves given client from the given realm.- Specified by:
removeClientin interfaceClientProvider- Parameters:
realm- Realm.id- Internal ID of the client- Returns:
trueif the client existed and has been removed,falseotherwise.
-
getClientsCount
public long getClientsCount(RealmModel realm)
Description copied from interface:ClientProviderReturns number of clients in the given realm- Specified by:
getClientsCountin interfaceClientProvider- Parameters:
realm- Realm.- Returns:
- Number of the clients in the given realm.
-
getClientById
public ClientModel getClientById(RealmModel realm, String id)
Description copied from interface:ClientLookupProviderExact search for a client by its internal ID.- Specified by:
getClientByIdin interfaceClientLookupProvider- Parameters:
realm- Realm to limit the search.id- Internal ID- Returns:
- Model of the client, or
nullif no client is found.
-
getClientByClientId
public ClientModel getClientByClientId(RealmModel realm, String clientId)
Description copied from interface:ClientLookupProviderExact search for a client by its public client identifier.- Specified by:
getClientByClientIdin interfaceClientLookupProvider- Parameters:
realm- Realm to limit the search for clients.clientId- String that identifies the client to the external parties. Maps toclient_idin OIDC orentityIDin SAML.- Returns:
- Model of the client, or
nullif no client is found.
-
searchClientsByClientIdStream
public 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 interfaceClientLookupProvider- Parameters:
realm- Realm to limit the search for clients.clientId- Searched substring of the public client identifier (client_idin OIDC orentityIDin SAML.)firstResult- First result to return. Ignored if negative ornull.maxResults- Maximum number of results to return. Ignored if negative ornull.- Returns:
- Stream of ClientModel or an empty stream if no client is found. Never returns
null.
-
searchClientsByAttributes
public Stream<ClientModel> searchClientsByAttributes(RealmModel realm, Map<String,String> attributes, Integer firstResult, Integer maxResults)
- Specified by:
searchClientsByAttributesin interfaceClientLookupProvider
-
addClientScopes
public 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 interfaceClientProvider- Parameters:
realm- Realm.client- Client.clientScopes- to be assigneddefaultScope- if true the scopes are assigned as default, or optional in case of false
-
removeClientScope
public void removeClientScope(RealmModel realm, ClientModel client, ClientScopeModel clientScope)
Description copied from interface:ClientProviderUnassign clientScope from the client.- Specified by:
removeClientScopein interfaceClientProvider- Parameters:
realm- Realm.client- Client.clientScope- to be unassigned
-
getClientScopes
public 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 interfaceClientLookupProvider- Parameters:
realm- Realmclient- ClientdefaultScopes- 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).
-
getAllRedirectUrisOfEnabledClients
public Map<ClientModel,Set<String>> getAllRedirectUrisOfEnabledClients(RealmModel realm)
Description copied from interface:ClientProviderReturns a map of (rootUrl, {validRedirectUris}) for all enabled clients.- Specified by:
getAllRedirectUrisOfEnabledClientsin interfaceClientProvider- Returns:
-
preRemove
public void preRemove(RealmModel realm, RoleModel role)
-
preRemove
public void preRemove(RealmModel realm)
-
-