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>

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 Details

  • Constructor Details

    • JWTClientAuthenticator

      public JWTClientAuthenticator()
  • Method Details

    • authenticateClient

      public void authenticateClient(org.keycloak.authentication.ClientAuthenticationFlowContext context)
    • verifySignature

      public boolean verifySignature(AbstractJWTClientValidator validator)
    • getSignatureValidationKey

      protected PublicKey getSignatureValidationKey(org.keycloak.models.ClientModel client, org.keycloak.authentication.ClientAuthenticationFlowContext context, org.keycloak.jose.jws.JWSInput jws)
    • getDisplayType

      public String getDisplayType()
    • isConfigurable

      public boolean isConfigurable()
    • getRequirementChoices

      public org.keycloak.models.AuthenticationExecutionModel.Requirement[] getRequirementChoices()
    • getHelpText

      public String getHelpText()
    • getConfigProperties

      public List<org.keycloak.provider.ProviderConfigProperty> getConfigProperties()
    • getConfigPropertiesPerClient

      public List<org.keycloak.provider.ProviderConfigProperty> getConfigPropertiesPerClient()
    • getAdapterConfiguration

      public Map<String,Object> getAdapterConfiguration(org.keycloak.models.KeycloakSession session, org.keycloak.models.ClientModel client)
    • getId

      public String getId()
    • getProtocolAuthenticatorMethods

      public Set<String> getProtocolAuthenticatorMethods(String loginProtocol)