Interface UserLookupProvider

  • All Known Subinterfaces:
    UserCache, UserCache.Streams, UserLookupProvider.Streams, UserProvider, UserProvider.Streams

    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 Detail

      • getUserById

        default UserModel getUserById​(RealmModel realm,
                                      String id)
        Returns a user with the given id belonging to the realm
        Parameters:
        id - id of the user
        realm - the realm model
        Returns:
        found user model, or null if no such user exists
      • getUserByUsername

        default UserModel getUserByUsername​(RealmModel realm,
                                            String username)
        Returns a user with the given username belonging to the realm
        Parameters:
        username - case insensitive username (case-sensitivity is controlled by storage)
        realm - the realm model
        Returns:
        found user model, or null if no such user exists
      • getUserByEmail

        default UserModel getUserByEmail​(RealmModel realm,
                                         String email)
        Returns a user with the given email belonging to the realm
        Parameters:
        email - case insensitive email address (case-sensitivity is controlled by storage)
        realm - the realm model
        Returns:
        found user model, or null if no such user exists
        Throws:
        ModelDuplicateException - when there are more users with same email