Class DPoPAuthenticationProvider
java.lang.Object
org.springframework.security.oauth2.server.resource.authentication.DPoPAuthenticationProvider
- All Implemented Interfaces:
AuthenticationProvider
An
AuthenticationProvider
implementation that is responsible for authenticating
a DPoP-bound access token for a protected resource request.-
Constructor Summary
ConstructorsConstructorDescriptionDPoPAuthenticationProvider
(AuthenticationManager tokenAuthenticationManager) Constructs aDPoPAuthenticationProvider
using the provided parameters. -
Method Summary
Modifier and TypeMethodDescriptionauthenticate
(Authentication authentication) Performs authentication with the same contract asAuthenticationManager.authenticate(Authentication)
.void
setDPoPProofVerifierFactory
(JwtDecoderFactory<DPoPProofContext> dPoPProofVerifierFactory) Sets theJwtDecoderFactory
that provides aJwtDecoder
for the specifiedDPoPProofContext
and is used for authenticating a DPoP ProofJwt
.boolean
Returnstrue
if thisAuthenticationProvider
supports the indicatedAuthentication
object.
-
Constructor Details
-
DPoPAuthenticationProvider
Constructs aDPoPAuthenticationProvider
using the provided parameters.- Parameters:
tokenAuthenticationManager
- theAuthenticationManager
used to authenticate the DPoP-bound access token
-
-
Method Details
-
authenticate
Description copied from interface:AuthenticationProvider
Performs authentication with the same contract asAuthenticationManager.authenticate(Authentication)
.- Specified by:
authenticate
in interfaceAuthenticationProvider
- Parameters:
authentication
- the authentication request object.- Returns:
- a fully authenticated object including credentials. May return
null
if theAuthenticationProvider
is unable to support authentication of the passedAuthentication
object. In such a case, the nextAuthenticationProvider
that supports the presentedAuthentication
class will be tried. - Throws:
AuthenticationException
- if authentication fails.
-
supports
Description copied from interface:AuthenticationProvider
Returnstrue
if thisAuthenticationProvider
supports the indicatedAuthentication
object.Returning
true
does not guarantee anAuthenticationProvider
will be able to authenticate the presentedAuthentication
object. It simply indicates it can support closer evaluation of it. AnAuthenticationProvider
can still returnnull
from theAuthenticationProvider.authenticate(Authentication)
method to indicate anotherAuthenticationProvider
should be tried.Selection of an
AuthenticationProvider
capable of performing authentication is conducted at runtime theProviderManager
.- Specified by:
supports
in interfaceAuthenticationProvider
- Returns:
true
if the implementation can more closely evaluate theAuthentication
class presented
-
setDPoPProofVerifierFactory
public void setDPoPProofVerifierFactory(JwtDecoderFactory<DPoPProofContext> dPoPProofVerifierFactory) Sets theJwtDecoderFactory
that provides aJwtDecoder
for the specifiedDPoPProofContext
and is used for authenticating a DPoP ProofJwt
. The default factory isDPoPProofJwtDecoderFactory
.- Parameters:
dPoPProofVerifierFactory
- theJwtDecoderFactory
that provides aJwtDecoder
for the specifiedDPoPProofContext
-