Interface UserLookupProvider

  • All Known Subinterfaces:
    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

        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

        UserModel getUserByUsername​(RealmModel realm,
                                    String username)
        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
      • getUserByEmail

        UserModel getUserByEmail​(RealmModel realm,
                                 String email)
        Returns a user with the given email belonging to the realm
        Parameters:
        email - email address
        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