Class X509ClientCertificateAuthenticationProvider
java.lang.Object
org.springframework.security.oauth2.server.authorization.authentication.X509ClientCertificateAuthenticationProvider
- All Implemented Interfaces:
org.springframework.security.authentication.AuthenticationProvider
public final class X509ClientCertificateAuthenticationProvider
extends Object
implements org.springframework.security.authentication.AuthenticationProvider
An
AuthenticationProvider implementation used for OAuth 2.0 Client
Authentication, which authenticates the client X509Certificate received when
the tls_client_auth or self_signed_tls_client_auth authentication
method is used.- Since:
- 1.3
- See Also:
-
AuthenticationProviderOAuth2ClientAuthenticationTokenRegisteredClientRepositoryOAuth2AuthorizationService
-
Constructor Summary
ConstructorsConstructorDescriptionX509ClientCertificateAuthenticationProvider(RegisteredClientRepository registeredClientRepository, OAuth2AuthorizationService authorizationService) Constructs aX509ClientCertificateAuthenticationProviderusing the provided parameters. -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.security.core.Authenticationauthenticate(org.springframework.security.core.Authentication authentication) voidsetCertificateVerifier(Consumer<OAuth2ClientAuthenticationContext> certificateVerifier) Sets theConsumerproviding access to theOAuth2ClientAuthenticationContextand is responsible for verifying the clientX509Certificateassociated in theOAuth2ClientAuthenticationToken.boolean
-
Constructor Details
-
X509ClientCertificateAuthenticationProvider
public X509ClientCertificateAuthenticationProvider(RegisteredClientRepository registeredClientRepository, OAuth2AuthorizationService authorizationService) Constructs aX509ClientCertificateAuthenticationProviderusing the provided parameters.- Parameters:
registeredClientRepository- the repository of registered clientsauthorizationService- the authorization service
-
-
Method Details
-
authenticate
public org.springframework.security.core.Authentication authenticate(org.springframework.security.core.Authentication authentication) throws org.springframework.security.core.AuthenticationException - Specified by:
authenticatein interfaceorg.springframework.security.authentication.AuthenticationProvider- Throws:
org.springframework.security.core.AuthenticationException
-
supports
- Specified by:
supportsin interfaceorg.springframework.security.authentication.AuthenticationProvider
-
setCertificateVerifier
Sets theConsumerproviding access to theOAuth2ClientAuthenticationContextand is responsible for verifying the clientX509Certificateassociated in theOAuth2ClientAuthenticationToken. The default implementation for thetls_client_authauthentication method verifies theexpected subject distinguished name.NOTE: If verification fails, an
OAuth2AuthenticationExceptionMUST be thrown.- Parameters:
certificateVerifier- theConsumerproviding access to theOAuth2ClientAuthenticationContextand is responsible for verifying the clientX509Certificate
-