Package org.keycloak.models
Interface ClientProvider
- 
- All Superinterfaces:
 ClientLookupProvider,Provider
- All Known Subinterfaces:
 CacheRealmProvider,RealmProvider
- All Known Implementing Classes:
 ClientStorageManager,JpaRealmProvider,MapClientProvider,MapRealmProvider,RealmCacheSession
public interface ClientProvider extends ClientLookupProvider, Provider
Provider of the client records.- Version:
 - $Revision: 1 $
 - Author:
 - Bill Burke
 
 
- 
- 
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description default 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.Map<ClientModel,Set<String>>getAllRedirectUrisOfEnabledClients(RealmModel realm)Deprecated.Do not use, this is only to support a deprecated logout endpoint and will vanish with it's removalStream<ClientModel>getAlwaysDisplayInConsoleClientsStream(RealmModel realm)Returns a stream of clients that are expected to always show up in account console.longgetClientsCount(RealmModel realm)Returns number of clients in the given realmdefault Stream<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.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.- 
Methods inherited from interface org.keycloak.storage.client.ClientLookupProvider
getClientByClientId, getClientById, getClientScopes, searchClientsByAttributes, searchClientsByClientIdStream 
 - 
 
 - 
 
- 
- 
Method Detail
- 
getClientsStream
Stream<ClientModel> getClientsStream(RealmModel realm, Integer firstResult, Integer maxResults)
Returns the clients of the given realm as a stream.- 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
default Stream<ClientModel> getClientsStream(RealmModel realm)
Returns all the clients of the given realm as a stream. Effectively the same as the callgetClientsStream(realm, null, null).- Parameters:
 realm- Realm.- Returns:
 - Stream of the clients. Never returns 
null. 
 
- 
addClient
default ClientModel addClient(RealmModel realm, String clientId)
Adds a client with givenclientIdto the given realm. The internal ID of the client will be created automatically.- Parameters:
 realm- Realm owning this client.clientId- String that identifies the client to the external parties. Maps toclient_idin OIDC orentityIDin SAML.- Returns:
 - Model of the created client.
 
 
- 
addClient
ClientModel addClient(RealmModel realm, String id, String clientId)
Adds a client with given internal ID andclientIdto the given realm.- 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.
 - Throws:
 IllegalArgumentException- Ifiddoes not conform the format understood by the underlying store.
 
- 
getClientsCount
long getClientsCount(RealmModel realm)
Returns number of clients in the given realm- Parameters:
 realm- Realm.- Returns:
 - Number of the clients in the given realm.
 
 
- 
getAlwaysDisplayInConsoleClientsStream
Stream<ClientModel> getAlwaysDisplayInConsoleClientsStream(RealmModel realm)
Returns a stream of clients that are expected to always show up in account console.- Parameters:
 realm- Realm owning the clients.- Returns:
 - Stream of the clients. Never returns 
null. 
 
- 
removeClient
boolean removeClient(RealmModel realm, String id)
Removes given client from the given realm.- Parameters:
 realm- Realm.id- Internal ID of the client- Returns:
 trueif the client existed and has been removed,falseotherwise.
 
- 
removeClients
void removeClients(RealmModel realm)
Removes all clients from the given realm.- Parameters:
 realm- Realm.
 
- 
addClientScopes
void addClientScopes(RealmModel realm, ClientModel client, Set<ClientScopeModel> clientScopes, boolean defaultScope)
Assign clientScopes to the client. Add as default scopes (if parameter 'defaultScope' is true) or optional scopes (if parameter 'defaultScope' is false)- Parameters:
 realm- Realm.client- Client.clientScopes- to be assigneddefaultScope- if true the scopes are assigned as default, or optional in case of false
 
- 
removeClientScope
void removeClientScope(RealmModel realm, ClientModel client, ClientScopeModel clientScope)
Unassign clientScope from the client.- Parameters:
 realm- Realm.client- Client.clientScope- to be unassigned
 
- 
getAllRedirectUrisOfEnabledClients
@Deprecated Map<ClientModel,Set<String>> getAllRedirectUrisOfEnabledClients(RealmModel realm)
Deprecated.Do not use, this is only to support a deprecated logout endpoint and will vanish with it's removalReturns a map of (rootUrl, {validRedirectUris}) for all enabled clients.- Parameters:
 realm-- Returns:
 
 
 - 
 
 -