Package org.keycloak.storage.client
Interface ClientLookupProvider
-
- All Known Subinterfaces:
CacheRealmProvider
,ClientProvider
,ClientStorageProvider
,RealmProvider
- All Known Implementing Classes:
ClientStorageManager
,JpaRealmProvider
,MapClientProvider
,MapRealmProvider
,OpenshiftClientStorageProvider
,RealmCacheSession
public interface ClientLookupProvider
Abstraction interface for lookoup of clients by id and clientId. These methods required for participating in login flows.- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ClientModel
getClientByClientId(RealmModel realm, String clientId)
Exact search for a client by its public client identifier.ClientModel
getClientById(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 (ifdefaultScope
istrue
) or all optional scopes (ifdefaultScope
isfalse
) linked with the clientStream<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.
-
-
-
Method Detail
-
getClientById
ClientModel getClientById(RealmModel realm, String id)
Exact search for a client by its internal ID.- Parameters:
realm
- Realm to limit the search.id
- Internal ID- Returns:
- Model of the client, or
null
if no client is found.
-
getClientByClientId
ClientModel getClientByClientId(RealmModel realm, String clientId)
Exact search for a client by its public client identifier.- Parameters:
realm
- Realm to limit the search for clients.clientId
- String that identifies the client to the external parties. Maps toclient_id
in OIDC orentityID
in SAML.- Returns:
- Model of the client, or
null
if no client is found.
-
searchClientsByClientIdStream
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.- Parameters:
realm
- Realm to limit the search for clients.clientId
- Searched substring of the public client identifier (client_id
in OIDC orentityID
in 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
Stream<ClientModel> searchClientsByAttributes(RealmModel realm, Map<String,String> attributes, Integer firstResult, Integer maxResults)
-
getClientScopes
Map<String,ClientScopeModel> getClientScopes(RealmModel realm, ClientModel client, boolean defaultScopes)
Return all default scopes (ifdefaultScope
istrue
) or all optional scopes (ifdefaultScope
isfalse
) linked with the client- 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).
-
-