Package org.keycloak.social.linkedin
Class LinkedInOIDCIdentityProviderFactory
java.lang.Object
org.keycloak.broker.provider.AbstractIdentityProviderFactory<LinkedInOIDCIdentityProvider>
org.keycloak.social.linkedin.LinkedInOIDCIdentityProviderFactory
- All Implemented Interfaces:
IdentityProviderFactory<LinkedInOIDCIdentityProvider>
,SocialIdentityProviderFactory<LinkedInOIDCIdentityProvider>
,ConfiguredProvider
,ProviderFactory<LinkedInOIDCIdentityProvider>
public class LinkedInOIDCIdentityProviderFactory
extends AbstractIdentityProviderFactory<LinkedInOIDCIdentityProvider>
implements 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:
- The jwks endpoint does not contain use claim for the signature key.
- 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 Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreate
(KeycloakSession session, IdentityProviderModel model) Creates anIdentityProvider
based on the configuration contained inmodel
.Creates a provider specificIdentityProviderModel
instance.getId()
getName()
A friendly name for this factory.Methods inherited from class org.keycloak.broker.provider.AbstractIdentityProviderFactory
close, create, init, parseConfig, postInit
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.ConfiguredProvider
getConfig
Methods inherited from interface org.keycloak.broker.provider.IdentityProviderFactory
getHelpText, parseConfig
Methods inherited from interface org.keycloak.provider.ProviderFactory
close, create, getConfigMetadata, init, order, postInit
-
Field Details
-
PROVIDER_ID
- See Also:
-
WELL_KNOWN_URL
- See Also:
-
-
Constructor Details
-
LinkedInOIDCIdentityProviderFactory
public LinkedInOIDCIdentityProviderFactory()
-
-
Method Details
-
getName
Description copied from interface:IdentityProviderFactory
A friendly name for this factory.
- Specified by:
getName
in interfaceIdentityProviderFactory<LinkedInOIDCIdentityProvider>
- Returns:
-
getId
- Specified by:
getId
in interfaceProviderFactory<LinkedInOIDCIdentityProvider>
-
create
Description copied from interface:IdentityProviderFactory
Creates an
IdentityProvider
based on the configuration contained inmodel
.- Specified by:
create
in interfaceIdentityProviderFactory<LinkedInOIDCIdentityProvider>
model
- The configuration to be used to create the identity provider.- Returns:
-
createConfig
Description copied from interface:IdentityProviderFactory
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- Specified by:
createConfig
in interfaceIdentityProviderFactory<LinkedInOIDCIdentityProvider>
- Returns:
- the provider specific instance
-
getConfigProperties
- Specified by:
getConfigProperties
in interfaceConfiguredProvider
- Specified by:
getConfigProperties
in interfaceIdentityProviderFactory<LinkedInOIDCIdentityProvider>
-