Class LinkedInOIDCIdentityProviderFactory

java.lang.Object
org.keycloak.broker.provider.AbstractIdentityProviderFactory<LinkedInOIDCIdentityProvider>
org.keycloak.social.linkedin.LinkedInOIDCIdentityProviderFactory
All Implemented Interfaces:
org.keycloak.broker.provider.IdentityProviderFactory<LinkedInOIDCIdentityProvider>, org.keycloak.broker.social.SocialIdentityProviderFactory<LinkedInOIDCIdentityProvider>, org.keycloak.provider.ConfiguredProvider, org.keycloak.provider.ProviderFactory<LinkedInOIDCIdentityProvider>

public class LinkedInOIDCIdentityProviderFactory extends org.keycloak.broker.provider.AbstractIdentityProviderFactory<LinkedInOIDCIdentityProvider> implements org.keycloak.broker.social.SocialIdentityProviderFactory<LinkedInOIDCIdentityProvider>

Specific OIDC LinkedIn provider for Sign In with LinkedIn using OpenID Connect product app. LinkedIn currently has two issues with default OIDC provider implementation:

  1. The jwks endpoint does not contain use claim for the signature key.
  2. The nonce in the authentication request is not returned back in the ID Token.

This factory workarounds the default provider to overcome the issues.

Author:
rmartinc
  • Field Details

  • Constructor Details

    • LinkedInOIDCIdentityProviderFactory

      public LinkedInOIDCIdentityProviderFactory()
  • Method Details

    • getName

      public String getName()
      Specified by:
      getName in interface org.keycloak.broker.provider.IdentityProviderFactory<LinkedInOIDCIdentityProvider>
    • getId

      public String getId()
      Specified by:
      getId in interface org.keycloak.provider.ProviderFactory<LinkedInOIDCIdentityProvider>
    • create

      public LinkedInOIDCIdentityProvider create(org.keycloak.models.KeycloakSession session, org.keycloak.models.IdentityProviderModel model)
      Specified by:
      create in interface org.keycloak.broker.provider.IdentityProviderFactory<LinkedInOIDCIdentityProvider>
    • createConfig

      public OIDCIdentityProviderConfig createConfig()
      Specified by:
      createConfig in interface org.keycloak.broker.provider.IdentityProviderFactory<LinkedInOIDCIdentityProvider>
    • getConfigProperties

      public List<org.keycloak.provider.ProviderConfigProperty> getConfigProperties()
      Specified by:
      getConfigProperties in interface org.keycloak.provider.ConfiguredProvider
      Specified by:
      getConfigProperties in interface org.keycloak.broker.provider.IdentityProviderFactory<LinkedInOIDCIdentityProvider>