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 theServerCsrfTokenRequestAttributeHandlerandServerCsrfTokenRequestResolverinterfaces that is capable of masking the value of theCsrfTokenon 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 Constructor Description XorServerCsrfTokenRequestAttributeHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidhandle(org.springframework.web.server.ServerWebExchange exchange, reactor.core.publisher.Mono<CsrfToken> csrfToken)Handles a request using aCsrfToken.reactor.core.publisher.Mono<java.lang.String>resolveCsrfTokenValue(org.springframework.web.server.ServerWebExchange exchange, CsrfToken csrfToken)Returns the token value resolved from the providedServerWebExchangeandCsrfTokenorMono.empty()if not available.voidsetSecureRandom(java.security.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
-
-
-
-
Method Detail
-
setSecureRandom
public void setSecureRandom(java.security.SecureRandom secureRandom)
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<java.lang.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
-
-