Class OpenSamlAuthenticationTokenConverter
java.lang.Object
org.springframework.security.saml2.provider.service.web.OpenSamlAuthenticationTokenConverter
- All Implemented Interfaces:
AuthenticationConverter
public final class OpenSamlAuthenticationTokenConverter
extends Object
implements AuthenticationConverter
An
AuthenticationConverter that generates a Saml2AuthenticationToken
appropriate for authenticated a SAML 2.0 Assertion against an
AuthenticationManager.- Since:
- 6.1
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs aOpenSamlAuthenticationTokenConvertergiven a repository forRelyingPartyRegistrations -
Method Summary
Modifier and TypeMethodDescriptionconvert(jakarta.servlet.http.HttpServletRequest request) Resolve an authentication request from the givenHttpServletRequest.voidsetAuthenticationRequestRepository(Saml2AuthenticationRequestRepository<AbstractSaml2AuthenticationRequest> authenticationRequestRepository) Use the givenSaml2AuthenticationRequestRepositoryto load authentication request.voidsetRequestMatcher(RequestMatcher requestMatcher) Use the givenRequestMatcherto match the request.
-
Constructor Details
-
OpenSamlAuthenticationTokenConverter
Constructs aOpenSamlAuthenticationTokenConvertergiven a repository forRelyingPartyRegistrations- Parameters:
registrations- the repository forRelyingPartyRegistrationsRelyingPartyRegistrations
-
-
Method Details
-
convert
Resolve an authentication request from the givenHttpServletRequest.First uses the configured
RequestMatcherto deduce whether an authentication request is being made and optionally for whichregistrationId.If there is an associated
<saml2:AuthnRequest>, then theregistrationIdis looked up and used.If a
registrationIdis found in the request, then it is looked up and used. In that case, if none is found aSaml2AuthenticationExceptionis thrown.Finally, if no
registrationIdis found in the request, then the code attempts to resolve theRelyingPartyRegistrationfrom the SAML Response's Issuer.- Specified by:
convertin interfaceAuthenticationConverter- Parameters:
request- the HTTP request- Returns:
- the
Saml2AuthenticationTokenauthentication request - Throws:
Saml2AuthenticationException- if theRequestMatcherspecifies a non-existentregistrationId
-
setAuthenticationRequestRepository
public void setAuthenticationRequestRepository(Saml2AuthenticationRequestRepository<AbstractSaml2AuthenticationRequest> authenticationRequestRepository) Use the givenSaml2AuthenticationRequestRepositoryto load authentication request.- Parameters:
authenticationRequestRepository- theSaml2AuthenticationRequestRepositoryto use
-
setRequestMatcher
Use the givenRequestMatcherto match the request.- Parameters:
requestMatcher- theRequestMatcherto use
-