Class JWTClientAuthenticator
java.lang.Object
org.keycloak.authentication.authenticators.client.AbstractClientAuthenticator
org.keycloak.authentication.authenticators.client.JWTClientAuthenticator
- All Implemented Interfaces:
- ClientAuthenticator,- ClientAuthenticatorFactory,- ConfigurableAuthenticatorFactory,- ConfiguredPerClientProvider,- ConfiguredProvider,- Provider,- ProviderFactory<ClientAuthenticator>
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 SummaryFieldsFields inherited from interface org.keycloak.authentication.ConfigurableAuthenticatorFactoryREQUIREMENT_CHOICES
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidInitial call for the authenticator.getAdapterConfiguration(ClientModel client) Get configuration, which needs to be used for adapter ( keycloak.json ) of particular client.List of config properties for this client implementation.Friendly name for the authenticatorgetId()getProtocolAuthenticatorMethods(String loginProtocol) Get authentication methods for the specified protocolWhat requirement settings are allowed.protected PublicKeygetSignatureValidationKey(ClientModel client, ClientAuthenticationFlowContext context, JWSInput jws) booleanIs this authenticator configurable globally?booleanverifySignature(AbstractJWTClientValidator validator) Methods inherited from class org.keycloak.authentication.authenticators.client.AbstractClientAuthenticatorclose, create, create, getReferenceCategory, init, isUserSetupAllowed, postInitMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.authentication.ClientAuthenticatorFactorysupportsSecretMethods inherited from interface org.keycloak.authentication.ConfigurableAuthenticatorFactorygetOptionalReferenceCategoriesMethods inherited from interface org.keycloak.provider.ConfiguredProvidergetConfigMethods inherited from interface org.keycloak.provider.ProviderFactorydependsOn, getConfigMetadata, order
- 
Field Details- 
PROVIDER_ID- See Also:
 
- 
ATTR_PREFIX- See Also:
 
- 
CERTIFICATE_ATTR- See Also:
 
 
- 
- 
Constructor Details- 
JWTClientAuthenticatorpublic JWTClientAuthenticator()
 
- 
- 
Method Details- 
authenticateClientDescription 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).
- 
verifySignature
- 
getSignatureValidationKeyprotected PublicKey getSignatureValidationKey(ClientModel client, ClientAuthenticationFlowContext context, JWSInput jws) 
- 
getDisplayTypeDescription copied from interface:ConfigurableAuthenticatorFactoryFriendly name for the authenticator- Returns:
 
- 
isConfigurablepublic boolean isConfigurable()Description copied from interface:ClientAuthenticatorFactoryIs this authenticator configurable globally?- Returns:
 
- 
getRequirementChoicesDescription copied from interface:ConfigurableAuthenticatorFactoryWhat requirement settings are allowed.- Returns:
 
- 
getHelpText
- 
getConfigProperties
- 
getConfigPropertiesPerClientDescription copied from interface:ConfiguredPerClientProviderList of config properties for this client implementation. Those will be shown in admin console in clients credentials tab and can be configured per client.- Returns:
 
- 
getAdapterConfigurationDescription 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:
 
- 
getId
- 
getProtocolAuthenticatorMethodsDescription 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"
 
 
-