org.keycloak.authentication.authenticators.browser

## Class IdentityProviderAuthenticatorFactory

- java.lang.Object
- - org.keycloak.authentication.authenticators.browser.IdentityProviderAuthenticatorFactory

- All Implemented Interfaces:
    AuthenticatorFactory, ConfigurableAuthenticatorFactory, DisplayTypeAuthenticatorFactory, ConfiguredProvider, ProviderFactory<Authenticator>

      public class IdentityProviderAuthenticatorFactory
      extends Object
      implements AuthenticatorFactory, DisplayTypeAuthenticatorFactory

  Author:
    Stian Thorgersen

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `DEFAULT_PROVIDER`
    `static String` | `PROVIDER_ID`
    `protected static AuthenticationExecutionModel.Requirement[]` | `REQUIREMENT_CHOICES`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IdentityProviderAuthenticatorFactory()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` This is called when the server shuts down.
    `Authenticator` | `create(KeycloakSession session)`
    `Authenticator` | `createDisplay(KeycloakSession session, String displayType)`
    `List<ProviderConfigProperty>` | `getConfigProperties()`
    `String` | `getDisplayType()` Friendly name for the authenticator
    `String` | `getHelpText()`
    `String` | `getId()`
    `String` | `getReferenceCategory()` General authenticator type, i.e.
    `AuthenticationExecutionModel.Requirement[]` | `getRequirementChoices()` What requirement settings are allowed.
    `void` | `init(Config.Scope config)` Only called once when the factory is first created.
    `boolean` | `isConfigurable()` Is this authenticator configurable?
    `boolean` | `isUserSetupAllowed()` Does this authenticator have required actions that can set if the user does not have this authenticator set up?
    `void` | `postInit(KeycloakSessionFactory factory)` Called after all provider factories have been initialized

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

      `order`

- - ### Field Detail

    - #### REQUIREMENT_CHOICES

          protected static final AuthenticationExecutionModel.Requirement[] REQUIREMENT_CHOICES

    - #### PROVIDER_ID

          public static final String PROVIDER_ID

      See Also:
        Constant Field Values

    - #### DEFAULT_PROVIDER

          public static final String DEFAULT_PROVIDER

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### IdentityProviderAuthenticatorFactory

          public IdentityProviderAuthenticatorFactory()

  - ### Method Detail

    - #### getDisplayType

          public String getDisplayType()

      Description copied from interface: `ConfigurableAuthenticatorFactory`
      Friendly name for the authenticator
      Specified by:
        `getDisplayType` in interface `ConfigurableAuthenticatorFactory`
      Returns:

    - #### getReferenceCategory

          public String getReferenceCategory()

      Description copied from interface: `ConfigurableAuthenticatorFactory`
      General authenticator type, i.e. totp, password, cert.
      Specified by:
        `getReferenceCategory` in interface `ConfigurableAuthenticatorFactory`
      Returns:
        null if not a referencable category

    - #### isConfigurable

          public boolean isConfigurable()

      Description copied from interface: `ConfigurableAuthenticatorFactory`
      Is this authenticator configurable?
      Specified by:
        `isConfigurable` in interface `ConfigurableAuthenticatorFactory`
      Returns:

    - #### getRequirementChoices

          public AuthenticationExecutionModel.Requirement[] getRequirementChoices()

      Description copied from interface: `ConfigurableAuthenticatorFactory`
      What requirement settings are allowed.
      Specified by:
        `getRequirementChoices` in interface `ConfigurableAuthenticatorFactory`
      Returns:

    - #### isUserSetupAllowed

          public boolean isUserSetupAllowed()

      Description copied from interface: `ConfigurableAuthenticatorFactory`
      Does this authenticator have required actions that can set if the user does not have this authenticator set up?
      Specified by:
        `isUserSetupAllowed` in interface `ConfigurableAuthenticatorFactory`
      Returns:

    - #### getHelpText

          public String getHelpText()

      Specified by:
        `getHelpText` in interface `ConfiguredProvider`

    - #### getConfigProperties

          public List<ProviderConfigProperty> getConfigProperties()

      Specified by:
        `getConfigProperties` in interface `ConfiguredProvider`

    - #### create

          public Authenticator create(KeycloakSession session)

      Specified by:
        `create` in interface `ProviderFactory<Authenticator>`

    - #### createDisplay

          public Authenticator createDisplay(KeycloakSession session,
                                             String displayType)

      Specified by:
        `createDisplay` in interface `DisplayTypeAuthenticatorFactory`
        `displayType` - i.e. "console", "wap", "popup" are examples
      Returns:
        null if display type isn't support.

    - #### init

          public 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<Authenticator>`

    - #### postInit

          public void postInit(KeycloakSessionFactory factory)

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

    - #### close

          public void close()

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

    - #### getId

          public String getId()

      Specified by:
        `getId` in interface `ProviderFactory<Authenticator>`

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