Package org.keycloak.storage.user
Interface UserLookupProvider
- All Known Subinterfaces:
UserCache
,UserProvider
- All Known Implementing Classes:
JpaUserProvider
,KerberosFederationProvider
,LDAPStorageProvider
,SSSDFederationProvider
,UserCacheSession
,UserStorageManager
public interface UserLookupProvider
This is an optional capability interface that is intended to be implemented by any
UserStorageProvider
that supports basic user querying. You must
implement this interface if you want to be able to log in to keycloak using users from your storage.
Note that all methods in this interface should limit search only to data available within the storage that is
represented by this provider. They should not lookup other storage providers for additional information.
Optional capability interface implemented by UserStorageProviders.- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
Method Summary
Modifier and TypeMethodDescriptiondefault CredentialValidationOutput
getUserByCredential
(RealmModel realm, CredentialInput input) getUserByEmail
(RealmModel realm, String email) Returns a user with the given email belonging to the realmgetUserById
(RealmModel realm, String id) Returns a user with the given id belonging to the realmgetUserByUsername
(RealmModel realm, String username) Exact search for a user by its username.
-
Method Details
-
getUserById
Returns a user with the given id belonging to the realm- Parameters:
id
- id of the userrealm
- the realm model- Returns:
- found user model, or
null
if no such user exists
-
getUserByUsername
Exact search for a user by its username. Returns a user with the given username belonging to the realm- Parameters:
username
- (case-sensitivity is controlled by storage)realm
- the realm model- Returns:
- found user model, or
null
if no such user exists - Throws:
ModelDuplicateException
- when searched with case insensitive mode and there are more users with username which differs only by case
-
getUserByCredential
-
getUserByEmail
Returns a user with the given email belonging to the realm- Parameters:
email
- email addressrealm
- the realm model- Returns:
- found user model, or
null
if no such user exists - Throws:
ModelDuplicateException
- when there are more users with same email
-