Class JWTClientAuthenticator
- java.lang.Object
- 
- org.keycloak.authentication.authenticators.client.AbstractClientAuthenticator
- 
- org.keycloak.authentication.authenticators.client.JWTClientAuthenticator
 
 
- 
- All Implemented Interfaces:
- ClientAuthenticator,- ClientAuthenticatorFactory,- ConfigurableAuthenticatorFactory,- ConfiguredProvider,- Provider,- ProviderFactory<ClientAuthenticator>
 
 public class JWTClientAuthenticator extends AbstractClientAuthenticator Client authentication based on JWT signed by client private key . See specs for more details. This is server side, which verifies JWT from client_assertion parameter, where the assertion was created on adapter side by org.keycloak.adapters.authentication.JWTClientCredentialsProvider- Author:
- Marek Posolda
 
- 
- 
Field SummaryFields Modifier and Type Field Description static StringATTR_PREFIXstatic StringCERTIFICATE_ATTRstatic StringPROVIDER_ID- 
Fields inherited from interface org.keycloak.authentication.ConfigurableAuthenticatorFactoryREQUIREMENT_CHOICES
 
- 
 - 
Constructor SummaryConstructors Constructor Description JWTClientAuthenticator()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidauthenticateClient(ClientAuthenticationFlowContext context)Initial call for the authenticator.Map<String,Object>getAdapterConfiguration(ClientModel client)Get configuration, which needs to be used for adapter ( keycloak.json ) of particular client.List<ProviderConfigProperty>getConfigProperties()List<ProviderConfigProperty>getConfigPropertiesPerClient()List of config properties for this client implementation.StringgetDisplayType()Friendly name for the authenticatorStringgetHelpText()StringgetId()Set<String>getProtocolAuthenticatorMethods(String loginProtocol)Get authentication methods for the specified protocolAuthenticationExecutionModel.Requirement[]getRequirementChoices()What requirement settings are allowed.protected PublicKeygetSignatureValidationKey(ClientModel client, ClientAuthenticationFlowContext context, JWSInput jws)booleanisConfigurable()Is this authenticator configurable globally?- 
Methods inherited from class org.keycloak.authentication.authenticators.client.AbstractClientAuthenticatorclose, create, create, getReferenceCategory, init, isFormDataRequest, isUserSetupAllowed, postInit
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface org.keycloak.authentication.ClientAuthenticatorFactorysupportsSecret
 - 
Methods inherited from interface org.keycloak.provider.ConfiguredProvidergetConfig
 - 
Methods inherited from interface org.keycloak.provider.ProviderFactorygetConfigMetadata, order
 
- 
 
- 
- 
- 
Field Detail- 
PROVIDER_IDpublic static final String PROVIDER_ID - See Also:
- Constant Field Values
 
 - 
ATTR_PREFIXpublic static final String ATTR_PREFIX - See Also:
- Constant Field Values
 
 - 
CERTIFICATE_ATTRpublic static final String CERTIFICATE_ATTR - See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
authenticateClientpublic void authenticateClient(ClientAuthenticationFlowContext context) Description copied from interface:ClientAuthenticatorInitial call for the authenticator. This method should check the current HTTP request to determine if the request satisfies the ClientAuthenticator's requirements. If it doesn't, it should send back a challenge response by calling the ClientAuthenticationFlowContext.challenge(Response).
 - 
getSignatureValidationKeyprotected PublicKey getSignatureValidationKey(ClientModel client, ClientAuthenticationFlowContext context, JWSInput jws) 
 - 
getDisplayTypepublic String getDisplayType() Description copied from interface:ConfigurableAuthenticatorFactoryFriendly name for the authenticator- Returns:
 
 - 
isConfigurablepublic boolean isConfigurable() Description copied from interface:ClientAuthenticatorFactoryIs this authenticator configurable globally?- Returns:
 
 - 
getRequirementChoicespublic AuthenticationExecutionModel.Requirement[] getRequirementChoices() Description copied from interface:ConfigurableAuthenticatorFactoryWhat requirement settings are allowed.- Returns:
 
 - 
getHelpTextpublic String getHelpText() 
 - 
getConfigPropertiespublic List<ProviderConfigProperty> getConfigProperties() 
 - 
getConfigPropertiesPerClientpublic List<ProviderConfigProperty> getConfigPropertiesPerClient() Description copied from interface:ClientAuthenticatorFactoryList 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:
 
 - 
getAdapterConfigurationpublic Map<String,Object> getAdapterConfiguration(ClientModel client) Description copied from interface:ClientAuthenticatorFactoryGet 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:
 
 - 
getIdpublic String getId() 
 - 
getProtocolAuthenticatorMethodspublic Set<String> getProtocolAuthenticatorMethods(String loginProtocol) Description copied from interface:ClientAuthenticatorFactoryGet authentication methods for the specified protocol- Parameters:
- loginProtocol- corresponds to- ProviderFactory.getId()
- Returns:
- name of supported client authenticator methods in the protocol specific "language"
 
 
- 
 
-