Class XorServerCsrfTokenRequestAttributeHandler
java.lang.Object
org.springframework.security.web.server.csrf.ServerCsrfTokenRequestAttributeHandler
org.springframework.security.web.server.csrf.XorServerCsrfTokenRequestAttributeHandler
- All Implemented Interfaces:
ServerCsrfTokenRequestHandler,ServerCsrfTokenRequestResolver
public final class XorServerCsrfTokenRequestAttributeHandler
extends ServerCsrfTokenRequestAttributeHandler
An implementation of the
ServerCsrfTokenRequestAttributeHandler and
ServerCsrfTokenRequestResolver interfaces 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 form data value or header of the request.- Since:
- 5.8
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidhandle(org.springframework.web.server.ServerWebExchange exchange, reactor.core.publisher.Mono<CsrfToken> csrfToken) Handles a request using aCsrfToken.reactor.core.publisher.Mono<String>resolveCsrfTokenValue(org.springframework.web.server.ServerWebExchange exchange, CsrfToken csrfToken) Returns the token value resolved from the providedServerWebExchangeandCsrfTokenorMono.empty()if 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.server.csrf.ServerCsrfTokenRequestAttributeHandler
setTokenFromMultipartDataEnabled
-
Constructor Details
-
XorServerCsrfTokenRequestAttributeHandler
public XorServerCsrfTokenRequestAttributeHandler()
-
-
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(org.springframework.web.server.ServerWebExchange exchange, reactor.core.publisher.Mono<CsrfToken> csrfToken) Description copied from interface:ServerCsrfTokenRequestHandlerHandles a request using aCsrfToken.- Specified by:
handlein interfaceServerCsrfTokenRequestHandler- Overrides:
handlein classServerCsrfTokenRequestAttributeHandler- Parameters:
exchange- theServerWebExchangewith the request being handledcsrfToken- theMono<CsrfToken>created by theServerCsrfTokenRepository
-
resolveCsrfTokenValue
public reactor.core.publisher.Mono<String> resolveCsrfTokenValue(org.springframework.web.server.ServerWebExchange exchange, CsrfToken csrfToken) Description copied from interface:ServerCsrfTokenRequestResolverReturns the token value resolved from the providedServerWebExchangeandCsrfTokenorMono.empty()if not available.- Specified by:
resolveCsrfTokenValuein interfaceServerCsrfTokenRequestHandler- Specified by:
resolveCsrfTokenValuein interfaceServerCsrfTokenRequestResolver- Overrides:
resolveCsrfTokenValuein classServerCsrfTokenRequestAttributeHandler- Parameters:
exchange- theServerWebExchangewith the request being processedcsrfToken- theCsrfTokencreated by theServerCsrfTokenRepository- Returns:
- the token value resolved from the request
-