Class JWTClientAuthenticator
java.lang.Object
org.keycloak.authentication.authenticators.client.AbstractClientAuthenticator
org.keycloak.authentication.authenticators.client.JWTClientAuthenticator
- All Implemented Interfaces:
org.keycloak.authentication.ClientAuthenticator,org.keycloak.authentication.ClientAuthenticatorFactory,org.keycloak.authentication.ConfigurableAuthenticatorFactory,org.keycloak.provider.ConfiguredPerClientProvider,org.keycloak.provider.ConfiguredProvider,org.keycloak.provider.Provider,org.keycloak.provider.ProviderFactory<org.keycloak.authentication.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 Summary
FieldsFields inherited from class org.keycloak.authentication.authenticators.client.AbstractClientAuthenticator
loggerFields inherited from interface org.keycloak.authentication.ConfigurableAuthenticatorFactory
REQUIREMENT_CHOICES -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidauthenticateClient(org.keycloak.authentication.ClientAuthenticationFlowContext context) getAdapterConfiguration(org.keycloak.models.KeycloakSession session, org.keycloak.models.ClientModel client) List<org.keycloak.provider.ProviderConfigProperty>List<org.keycloak.provider.ProviderConfigProperty>getId()getProtocolAuthenticatorMethods(String loginProtocol) org.keycloak.models.AuthenticationExecutionModel.Requirement[]protected PublicKeygetSignatureValidationKey(org.keycloak.models.ClientModel client, org.keycloak.authentication.ClientAuthenticationFlowContext context, org.keycloak.jose.jws.JWSInput jws) booleanbooleanverifySignature(AbstractJWTClientValidator validator) Methods inherited from class org.keycloak.authentication.authenticators.client.AbstractClientAuthenticator
close, create, create, getReferenceCategory, init, isUserSetupAllowed, postInitMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.authentication.ClientAuthenticatorFactory
getProtocolAuthenticatorMethod, setClientAuthenticationMethod, supportsSecretMethods inherited from interface org.keycloak.authentication.ConfigurableAuthenticatorFactory
getOptionalReferenceCategoriesMethods inherited from interface org.keycloak.provider.ConfiguredProvider
getConfigMethods inherited from interface org.keycloak.provider.ProviderFactory
dependsOn, getConfigMetadata, order
-
Field Details
-
PROVIDER_ID
- See Also:
-
ATTR_PREFIX
- See Also:
-
CERTIFICATE_ATTR
- See Also:
-
-
Constructor Details
-
JWTClientAuthenticator
public JWTClientAuthenticator()
-
-
Method Details
-
authenticateClient
public void authenticateClient(org.keycloak.authentication.ClientAuthenticationFlowContext context) -
verifySignature
-
getSignatureValidationKey
protected PublicKey getSignatureValidationKey(org.keycloak.models.ClientModel client, org.keycloak.authentication.ClientAuthenticationFlowContext context, org.keycloak.jose.jws.JWSInput jws) -
getDisplayType
-
isConfigurable
public boolean isConfigurable() -
getRequirementChoices
public org.keycloak.models.AuthenticationExecutionModel.Requirement[] getRequirementChoices() -
getHelpText
-
getConfigProperties
-
getConfigPropertiesPerClient
-
getAdapterConfiguration
-
getId
-
getProtocolAuthenticatorMethods
-