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:
-
AuthenticationProvider
OAuth2ClientAuthenticationToken
RegisteredClientRepository
OAuth2AuthorizationService
-
Constructor Summary
ConstructorsConstructorDescriptionX509ClientCertificateAuthenticationProvider
(RegisteredClientRepository registeredClientRepository, OAuth2AuthorizationService authorizationService) Constructs aX509ClientCertificateAuthenticationProvider
using the provided parameters. -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.security.core.Authentication
authenticate
(org.springframework.security.core.Authentication authentication) void
setCertificateVerifier
(Consumer<OAuth2ClientAuthenticationContext> certificateVerifier) Sets theConsumer
providing access to theOAuth2ClientAuthenticationContext
and is responsible for verifying the clientX509Certificate
associated in theOAuth2ClientAuthenticationToken
.boolean
-
Constructor Details
-
X509ClientCertificateAuthenticationProvider
public X509ClientCertificateAuthenticationProvider(RegisteredClientRepository registeredClientRepository, OAuth2AuthorizationService authorizationService) Constructs aX509ClientCertificateAuthenticationProvider
using 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:
authenticate
in interfaceorg.springframework.security.authentication.AuthenticationProvider
- Throws:
org.springframework.security.core.AuthenticationException
-
supports
- Specified by:
supports
in interfaceorg.springframework.security.authentication.AuthenticationProvider
-
setCertificateVerifier
Sets theConsumer
providing access to theOAuth2ClientAuthenticationContext
and is responsible for verifying the clientX509Certificate
associated in theOAuth2ClientAuthenticationToken
. The default implementation for thetls_client_auth
authentication method verifies theexpected subject distinguished name
.NOTE: If verification fails, an
OAuth2AuthenticationException
MUST be thrown.- Parameters:
certificateVerifier
- theConsumer
providing access to theOAuth2ClientAuthenticationContext
and is responsible for verifying the clientX509Certificate
-