org.keycloak.storage

## Interface UserStorageProviderFactory<T extends UserStorageProvider>

- All Superinterfaces:
    ComponentFactory<T,UserStorageProvider>, ConfiguredProvider, ProviderFactory<UserStorageProvider>
  All Known Implementing Classes:
    KerberosFederationProviderFactory, LDAPStorageProviderFactory, SSSDFederationProviderFactory

      public interface UserStorageProviderFactory<T extends UserStorageProvider>
      extends ComponentFactory<T,UserStorageProvider>

  Version:
    $Revision: 1 $
  Author:
    Bill Burke

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default void` | `close()` This is called when the server shuts down.
    `T` | `create(KeycloakSession session, ComponentModel model)` called per Keycloak transaction.
    `default List<ProviderConfigProperty>` | `getCommonProviderConfigProperties()` configuration properties that are common across all UserStorageProvider implementations
    `default List<ProviderConfigProperty>` | `getConfigProperties()`
    `default String` | `getHelpText()`
    `String` | `getId()` This is the name of the provider and will be showed in the admin console as an option.
    `default Map<String,Object>` | `getTypeMetadata()` This is metadata about this component type.
    `default void` | `init(Config.Scope config)` Only called once when the factory is first created.
    `default void` | `onCreate(KeycloakSession session, RealmModel realm, ComponentModel model)` Called when UserStorageProviderModel is created.
    `default void` | `postInit(KeycloakSessionFactory factory)` Called after all provider factories have been initialized
    `default void` | `validateConfiguration(KeycloakSession session, RealmModel realm, ComponentModel config)` Called before a component is created or updated.

    - ### Methods inherited from interface org.keycloak.component.ComponentFactory

      `create, onUpdate, preRemove`

    - ### Methods inherited from interface org.keycloak.provider.ProviderFactory

      `order`

- - ### Method Detail

    - #### create

          T create(KeycloakSession session,
                   ComponentModel model)

      called per Keycloak transaction.
      Specified by:
        `create` in interface `ComponentFactory<T extends UserStorageProvider,UserStorageProvider>`
      Parameters:
        `session` -
        `model` -
      Returns:

    - #### getId

          String getId()

      This is the name of the provider and will be showed in the admin console as an option.
      Specified by:
        `getId` in interface `ProviderFactory<UserStorageProvider>`
      Returns:

    - #### init

          default void init(Config.Scope config)

      Description copied from interface: `ProviderFactory`
      Only called once when the factory is first created. This config is pulled from keycloak_server.json
      Specified by:
        `init` in interface `ProviderFactory<UserStorageProvider>`

    - #### postInit

          default void postInit(KeycloakSessionFactory factory)

      Description copied from interface: `ProviderFactory`
      Called after all provider factories have been initialized
      Specified by:
        `postInit` in interface `ProviderFactory<UserStorageProvider>`

    - #### close

          default void close()

      Description copied from interface: `ProviderFactory`
      This is called when the server shuts down.
      Specified by:
        `close` in interface `ProviderFactory<UserStorageProvider>`

    - #### getHelpText

          default String getHelpText()

      Specified by:
        `getHelpText` in interface `ConfiguredProvider`

    - #### getConfigProperties

          default List<ProviderConfigProperty> getConfigProperties()

      Specified by:
        `getConfigProperties` in interface `ConfiguredProvider`

    - #### validateConfiguration

          default void validateConfiguration(KeycloakSession session,
                                             RealmModel realm,
                                             ComponentModel config)
                                      throws ComponentValidationException

      Description copied from interface: `ComponentFactory`
      Called before a component is created or updated. Allows you to validate the configuration
      Specified by:
        `validateConfiguration` in interface `ComponentFactory<T extends UserStorageProvider,UserStorageProvider>`
      Throws:
        `ComponentValidationException`

    - #### onCreate

          default void onCreate(KeycloakSession session,
                                RealmModel realm,
                                ComponentModel model)

      Called when UserStorageProviderModel is created. This allows you to do initialization of any additional configuration you need to add. For example, you may be introspecting a database or ldap schema to automatically create mappings.
      Specified by:
        `onCreate` in interface `ComponentFactory<T extends UserStorageProvider,UserStorageProvider>`
      Parameters:
        `session` -
        `realm` -
        `model` -

    - #### getCommonProviderConfigProperties

          default List<ProviderConfigProperty> getCommonProviderConfigProperties()

      configuration properties that are common across all UserStorageProvider implementations
      Specified by:
        `getCommonProviderConfigProperties` in interface `ComponentFactory<T extends UserStorageProvider,UserStorageProvider>`
      Returns:

    - #### getTypeMetadata

          default Map<String,Object> getTypeMetadata()

      Description copied from interface: `ComponentFactory`
      This is metadata about this component type. Its really configuration information about the component type and not an individual instance
      Specified by:
        `getTypeMetadata` in interface `ComponentFactory<T extends UserStorageProvider,UserStorageProvider>`
      Returns:

Copyright © 2021 JBoss by Red Hat. All rights reserved.