Interface KeycloakSession

    • Method Detail

      • getProvider

        <T extends Provider> T getProvider​(Class<T> clazz)
        Get dedicated provider instance of provider type clazz that was created for this session. If one hasn't been created yet, find the factory and allocate by calling ProviderFactory.create(KeycloakSession). The provider to use is determined by the "provider" config entry in keycloak-server boot configuration. (keycloak-server.json)
        Type Parameters:
        T -
        Parameters:
        clazz -
        Returns:
      • getProvider

        <T extends Provider> T getProvider​(Class<T> clazz,
                                           String id)
        Get dedicated provider instance for a specific provider factory of id of provider type clazz that was created for this session. If one hasn't been created yet, find the factory and allocate by calling ProviderFactory.create(KeycloakSession).
        Type Parameters:
        T -
        Parameters:
        clazz -
        id -
        Returns:
      • getComponentProvider

        <T extends Provider> T getComponentProvider​(Class<T> clazz,
                                                    String componentId)
        Returns a component provider for a component from the realm that is relevant to this session. The relevant realm must be set prior to calling this method in the context, see KeycloakContext.getRealm().
        Type Parameters:
        T -
        Parameters:
        clazz -
        componentId - Component configuration
        Returns:
        Provider configured according to the componentId, null if it cannot be instantiated.
        Throws:
        IllegalArgumentException - If the realm is not set in the context.
      • getComponentProvider

        <T extends Provider> T getComponentProvider​(Class<T> clazz,
                                                    String componentId,
                                                    Function<KeycloakSessionFactory,​ComponentModel> modelGetter)
        Returns a component provider for a component from the realm that is relevant to this session. The relevant realm must be set prior to calling this method in the context, see KeycloakContext.getRealm().
        Type Parameters:
        T -
        Parameters:
        clazz -
        componentId - Component configuration
        modelGetter - Getter to retrieve componentModel
        Returns:
        Provider configured according to the componentId, null if it cannot be instantiated.
        Throws:
        IllegalArgumentException - If the realm is not set in the context.
      • getProvider

        <T extends Provider> T getProvider​(Class<T> clazz,
                                           ComponentModel componentModel)
        Deprecated.
        Deprecated in favor of {@link #getComponentProvider)
        Type Parameters:
        T -
        Parameters:
        clazz -
        componentModel -
        Returns:
      • listProviderIds

        <T extends ProviderSet<String> listProviderIds​(Class<T> clazz)
        Get all provider factories that manage provider instances of class.
        Type Parameters:
        T -
        Parameters:
        clazz -
        Returns:
      • getAllProviders

        <T extends ProviderSet<T> getAllProviders​(Class<T> clazz)
      • getAttribute

        <T> T getAttribute​(String attribute,
                           Class<T> clazz)
      • getAttributeOrDefault

        default <T> T getAttributeOrDefault​(String attribute,
                                            T defaultValue)
      • removeAttribute

        Object removeAttribute​(String attribute)
      • setAttribute

        void setAttribute​(String name,
                          Object value)
      • enlistForClose

        void enlistForClose​(Provider provider)
      • realms

        RealmProvider realms()
        Returns a managed provider instance. Will start a provider transaction. This transaction is managed by the KeycloakSession transaction.
        Returns:
        Throws:
        IllegalStateException - if transaction is not active
      • clients

        ClientProvider clients()
        Returns a managed provider instance. Will start a provider transaction. This transaction is managed by the KeycloakSession transaction.
        Returns:
        Throws:
        IllegalStateException - if transaction is not active
      • clientScopes

        ClientScopeProvider clientScopes()
        Returns a managed provider instance. Will start a provider transaction. This transaction is managed by the KeycloakSession transaction.
        Returns:
        Currently used ClientScopeProvider instance.
        Throws:
        IllegalStateException - if transaction is not active
      • groups

        GroupProvider groups()
        Returns a managed group provider instance.
        Returns:
        Currently used GroupProvider instance.
        Throws:
        IllegalStateException - if transaction is not active
      • roles

        RoleProvider roles()
        Returns a managed provider instance. Will start a provider transaction. This transaction is managed by the KeycloakSession transaction.
        Returns:
        Throws:
        IllegalStateException - if transaction is not active
      • sessions

        UserSessionProvider sessions()
        Returns a managed provider instance. Will start a provider transaction. This transaction is managed by the KeycloakSession transaction.
        Returns:
        Throws:
        IllegalStateException - if transaction is not active
      • close

        void close()
      • userCache

        UserCache userCache()
        The user cache
        Returns:
        may be null if cache is disabled
      • users

        UserProvider users()
        A cached view of all users in system including users loaded by UserStorageProviders
        Returns:
      • clientStorageManager

        ClientProvider clientStorageManager()
        Returns:
        ClientStorageManager instance
      • clientScopeStorageManager

        ClientScopeProvider clientScopeStorageManager()
        Returns:
        ClientScopeStorageManager instance
      • roleStorageManager

        RoleProvider roleStorageManager()
        Returns:
        RoleStorageManager instance
      • groupStorageManager

        GroupProvider groupStorageManager()
        Returns:
        GroupStorageManager instance
      • userStorageManager

        UserProvider userStorageManager()
        Un-cached view of all users in system including users loaded by UserStorageProviders
        Returns:
      • userCredentialManager

        UserCredentialManager userCredentialManager()
        Service that allows you to valid and update credentials for a user
        Returns:
      • userLocalStorage

        UserProvider userLocalStorage()
        Keycloak specific local storage for users. No cache in front, this api talks directly to database configured for Keycloak
        Returns:
      • clientLocalStorage

        ClientProvider clientLocalStorage()
        Keycloak specific local storage for clients. No cache in front, this api talks directly to database configured for Keycloak
        Returns:
      • clientScopeLocalStorage

        ClientScopeProvider clientScopeLocalStorage()
        Keycloak specific local storage for client scopes. No cache in front, this api talks directly to database configured for Keycloak
        Returns:
      • groupLocalStorage

        GroupProvider groupLocalStorage()
        Keycloak specific local storage for groups. No cache in front, this api talks directly to storage configured for Keycloak
        Returns:
      • roleLocalStorage

        RoleProvider roleLocalStorage()
        Keycloak specific local storage for roles. No cache in front, this api talks directly to storage configured for Keycloak
        Returns:
      • userFederatedStorage

        UserFederatedStorageProvider userFederatedStorage()
        Hybrid storage for UserStorageProviders that can't store a specific piece of keycloak data in their external storage. No cache in front.
        Returns: