org.keycloak.broker.provider

## Interface IdentityProviderFactory<T extends IdentityProvider>

- All Superinterfaces:
    ProviderFactory<T>
  All Known Subinterfaces:
    SocialIdentityProviderFactory<I>
  All Known Implementing Classes:
    AbstractIdentityProviderFactory, BitbucketIdentityProviderFactory, FacebookIdentityProviderFactory, GitHubIdentityProviderFactory, GitLabIdentityProviderFactory, GoogleIdentityProviderFactory, InstagramIdentityProviderFactory, KeycloakOIDCIdentityProviderFactory, LinkedInIdentityProviderFactory, MicrosoftIdentityProviderFactory, OIDCIdentityProviderFactory, OpenshiftV3IdentityProviderFactory, OpenshiftV4IdentityProviderFactory, PayPalIdentityProviderFactory, SAMLIdentityProviderFactory, StackoverflowIdentityProviderFactory, TwitterIdentityProviderFactory

      public interface IdentityProviderFactory<T extends IdentityProvider>
      extends ProviderFactory<T>

  Author:
    Pedro Igor

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `T` | `create(KeycloakSession session, IdentityProviderModel model)` Creates an `IdentityProvider` based on the configuration contained in `model`.
    `IdentityProviderModel` | `createConfig()` Creates a provider specific `IdentityProviderModel` instance.
    `String` | `getName()` A friendly name for this factory.
    `Map<String,String>` | `parseConfig(KeycloakSession session, InputStream inputStream)` Creates an `IdentityProvider` based on the configuration from `inputStream`.

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

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

- - ### Method Detail

    - #### getName

          String getName()

      A friendly name for this factory.

      Returns:

    - #### create

          T create(KeycloakSession session,
                   IdentityProviderModel model)

      Creates an `IdentityProvider` based on the configuration contained in `model`.

      Parameters:
        `session` -
        `model` - The configuration to be used to create the identity provider.
      Returns:

    - #### parseConfig

          Map<String,String> parseConfig(KeycloakSession session,
                                         InputStream inputStream)

      Creates an `IdentityProvider` based on the configuration from `inputStream`.

      Parameters:
        `session` -
        `inputStream` - The input stream from where configuration will be loaded from..
      Returns:

    - #### createConfig

          IdentityProviderModel createConfig()

      Creates a provider specific `IdentityProviderModel` instance.

      Providers may want to implement their own `IdentityProviderModel` type so that validations can be performed when managing the provider configuration

      Returns:
        the provider specific instance

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