org.keycloak.authentication

## Interface ClientAuthenticatorFactory

- All Superinterfaces:
    ConfigurableAuthenticatorFactory, ConfiguredProvider, ProviderFactory<ClientAuthenticator>
  All Known Implementing Classes:
    AbstractClientAuthenticator, ClientIdAndSecretAuthenticator, JWTClientAuthenticator, JWTClientSecretAuthenticator, X509ClientAuthenticator

      public interface ClientAuthenticatorFactory
      extends ProviderFactory<ClientAuthenticator>, ConfigurableAuthenticatorFactory

  Factory for creating ClientAuthenticator instances. This is a singleton and created when Keycloak boots. You must specify a file META-INF/services/org.keycloak.authentication.ClientAuthenticatorFactory in the jar that this class is contained in This file must have the fully qualified class name of all your ClientAuthenticatorFactory classes
  Author:
    Marek Posolda

- - ### Field Summary

    - ### Fields inherited from interface org.keycloak.authentication.ConfigurableAuthenticatorFactory

      `REQUIREMENT_CHOICES`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `ClientAuthenticator` | `create()`
    `Map<String,Object>` | `getAdapterConfiguration(ClientModel client)` Get configuration, which needs to be used for adapter ( keycloak.json ) of particular client.
    `List<ProviderConfigProperty>` | `getConfigPropertiesPerClient()` List of config properties for this client implementation.
    `Set<String>` | `getProtocolAuthenticatorMethods(String loginProtocol)` Get authentication methods for the specified protocol
    `boolean` | `isConfigurable()` Is this authenticator configurable globally?

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

      `close, create, getId, init, order, postInit`

    - ### Methods inherited from interface org.keycloak.authentication.ConfigurableAuthenticatorFactory

      `getDisplayType, getReferenceCategory, getRequirementChoices, isUserSetupAllowed`

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

      `getConfigProperties, getHelpText`

- - ### Method Detail

    - #### create

          ClientAuthenticator create()

    - #### isConfigurable

          boolean isConfigurable()

      Is this authenticator configurable globally?
      Specified by:
        `isConfigurable` in interface `ConfigurableAuthenticatorFactory`
      Returns:

    - #### getConfigPropertiesPerClient

          List<ProviderConfigProperty> getConfigPropertiesPerClient()

      List of config properties for this client implementation. Those will be shown in admin console in clients credentials tab and can be configured per client. Applicable only if "isConfigurablePerClient" is true
      Returns:

    - #### getAdapterConfiguration

          Map<String,Object> getAdapterConfiguration(ClientModel client)

      Get configuration, which needs to be used for adapter ( keycloak.json ) of particular client. Some implementations may return just template and user needs to edit the values according to his environment (For example fill the location of keystore file)
      Returns:

    - #### getProtocolAuthenticatorMethods

          Set<String> getProtocolAuthenticatorMethods(String loginProtocol)

      Get authentication methods for the specified protocol
      Parameters:
        `loginProtocol` - corresponds to `ProviderFactory.getId()`
      Returns:
        name of supported client authenticator methods in the protocol specific "language"

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