Package org.keycloak.storage.client
Interface ClientLookupProvider
- All Known Subinterfaces:
CacheRealmProvider
,ClientProvider
,ClientStorageProvider
- All Known Implementing Classes:
ClientStorageManager
,JpaRealmProvider
,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
Modifier and TypeMethodDescriptiongetClientByClientId
(RealmModel realm, String clientId) Exact search for a client by its public client identifier.getClientById
(RealmModel realm, String id) Exact search for a client by its internal ID.getClientScopes
(RealmModel realm, ClientModel client, boolean defaultScopes) Return all default scopes (ifdefaultScope
istrue
) or all optional scopes (ifdefaultScope
isfalse
) linked with the clientsearchClientsByAttributes
(RealmModel realm, Map<String, String> attributes, Integer firstResult, Integer maxResults) default Stream<ClientModel>
searchClientsByAuthenticationFlowBindingOverrides
(RealmModel realm, Map<String, String> overrides, Integer firstResult, Integer maxResults) 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 Details
-
getClientById
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
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) -
searchClientsByAuthenticationFlowBindingOverrides
default Stream<ClientModel> searchClientsByAuthenticationFlowBindingOverrides(RealmModel realm, Map<String, String> overrides, 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).
-