Class XorCsrfTokenRequestAttributeHandler
java.lang.Object
org.springframework.security.web.csrf.CsrfTokenRequestAttributeHandler
org.springframework.security.web.csrf.XorCsrfTokenRequestAttributeHandler
- All Implemented Interfaces:
CsrfTokenRequestHandler,CsrfTokenRequestResolver
An implementation of the
CsrfTokenRequestHandler interface that is capable of
masking the value of the CsrfToken on each request and resolving the raw token
value from the masked value as either a header or parameter value of the request.- Since:
- 5.8
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidhandle(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Supplier<CsrfToken> deferredCsrfToken) Handles a request using aCsrfToken.@Nullable StringresolveCsrfTokenValue(jakarta.servlet.http.HttpServletRequest request, CsrfToken csrfToken) Returns the token value resolved from the providedHttpServletRequestandCsrfTokenornullif not available.voidsetSecureRandom(SecureRandom secureRandom) Specifies theSecureRandomused to generate random bytes that are used to mask the value of theCsrfTokenon each request.Methods inherited from class org.springframework.security.web.csrf.CsrfTokenRequestAttributeHandler
setCsrfRequestAttributeName
-
Constructor Details
-
XorCsrfTokenRequestAttributeHandler
public XorCsrfTokenRequestAttributeHandler()
-
-
Method Details
-
setSecureRandom
Specifies theSecureRandomused to generate random bytes that are used to mask the value of theCsrfTokenon each request.- Parameters:
secureRandom- theSecureRandomto use to generate random bytes
-
handle
public void handle(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Supplier<CsrfToken> deferredCsrfToken) Description copied from interface:CsrfTokenRequestHandlerHandles a request using aCsrfToken.- Specified by:
handlein interfaceCsrfTokenRequestHandler- Overrides:
handlein classCsrfTokenRequestAttributeHandler- Parameters:
request- theHttpServletRequestbeing handledresponse- theHttpServletResponsebeing handleddeferredCsrfToken- theCsrfTokencreated by theCsrfTokenRepository
-
resolveCsrfTokenValue
public @Nullable String resolveCsrfTokenValue(jakarta.servlet.http.HttpServletRequest request, CsrfToken csrfToken) Description copied from interface:CsrfTokenRequestResolverReturns the token value resolved from the providedHttpServletRequestandCsrfTokenornullif not available.- Parameters:
request- theHttpServletRequestbeing processedcsrfToken- theCsrfTokencreated by theCsrfTokenRepository- Returns:
- the token value resolved from the request
-