Class AttestationBasedClientAuthenticator
java.lang.Object
org.keycloak.authentication.authenticators.client.AbstractClientAuthenticator
org.keycloak.authentication.authenticators.client.AttestationBasedClientAuthenticator
- 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.EnvironmentDependentProviderFactory,org.keycloak.provider.Provider,org.keycloak.provider.ProviderFactory<org.keycloak.authentication.ClientAuthenticator>
public class AttestationBasedClientAuthenticator
extends AbstractClientAuthenticator
implements org.keycloak.provider.EnvironmentDependentProviderFactory
Attestation-Based Client Authentication based on Client Attestation JWT and PoP.
See specs for more details.
The current implementation aligns with HAIP Profile 1.0
specifically Attestation-Based Client Authentication - Draft07
- Author:
- Thomas Diesler
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic classstatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe token confirmation typestatic final StringComma-separated aliases of trust-material identity providers that expose the trusted attester keys.static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringFields 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[]booleanbooleanisSupported(org.keycloak.Config.Scope config) 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:
-
OAUTH_CLIENT_ATTESTATION_HEADER
- See Also:
-
OAUTH_CLIENT_ATTESTATION_POP_HEADER
- See Also:
-
OAUTH_CLIENT_ATTESTATION_JWT_TYPE
- See Also:
-
OAUTH_CLIENT_ATTESTATION_POP_JWT_TYPE
- See Also:
-
OAUTH_CLIENT_ATTESTATION_CONFIG_TRUST_IDPS
Comma-separated aliases of trust-material identity providers that expose the trusted attester keys.- See Also:
-
ABCA_JKT_TYPE
The token confirmation type- See Also:
-
-
Constructor Details
-
AttestationBasedClientAuthenticator
public AttestationBasedClientAuthenticator()
-
-
Method Details
-
getId
- Specified by:
getIdin interfaceorg.keycloak.provider.ProviderFactory<org.keycloak.authentication.ClientAuthenticator>
-
authenticateClient
public void authenticateClient(org.keycloak.authentication.ClientAuthenticationFlowContext context) - Specified by:
authenticateClientin interfaceorg.keycloak.authentication.ClientAuthenticator
-
getDisplayType
- Specified by:
getDisplayTypein interfaceorg.keycloak.authentication.ConfigurableAuthenticatorFactory
-
getHelpText
- Specified by:
getHelpTextin interfaceorg.keycloak.provider.ConfiguredProvider
-
getRequirementChoices
public org.keycloak.models.AuthenticationExecutionModel.Requirement[] getRequirementChoices()- Specified by:
getRequirementChoicesin interfaceorg.keycloak.authentication.ConfigurableAuthenticatorFactory
-
isConfigurable
public boolean isConfigurable()- Specified by:
isConfigurablein interfaceorg.keycloak.authentication.ClientAuthenticatorFactory- Specified by:
isConfigurablein interfaceorg.keycloak.authentication.ConfigurableAuthenticatorFactory
-
getConfigProperties
- Specified by:
getConfigPropertiesin interfaceorg.keycloak.provider.ConfiguredProvider
-
getConfigPropertiesPerClient
- Specified by:
getConfigPropertiesPerClientin interfaceorg.keycloak.provider.ConfiguredPerClientProvider
-
getAdapterConfiguration
public Map<String,Object> getAdapterConfiguration(org.keycloak.models.KeycloakSession session, org.keycloak.models.ClientModel client) - Specified by:
getAdapterConfigurationin interfaceorg.keycloak.authentication.ClientAuthenticatorFactory
-
isSupported
public boolean isSupported(org.keycloak.Config.Scope config) - Specified by:
isSupportedin interfaceorg.keycloak.provider.EnvironmentDependentProviderFactory
-
getProtocolAuthenticatorMethods
- Specified by:
getProtocolAuthenticatorMethodsin interfaceorg.keycloak.authentication.ClientAuthenticatorFactory
-