Package play.libs.crypto
Interface CSRFTokenSigner
- All Known Implementing Classes:
DefaultCSRFTokenSigner
public interface CSRFTokenSigner
Cryptographic utilities for generating and validating CSRF tokens.
This trait should not be used as a general purpose encryption utility.
-
Method Summary
Modifier and TypeMethodDescriptionplay.api.libs.crypto.CSRFTokenSignerasScala()Utility method needed for CSRFCheck.booleancompareSignedTokens(String tokenA, String tokenB) Compare two signed tokens.extractSignedToken(String token) Extract a signed token that was signed bysignToken(String).Generates a signed token by calling generateToken / signToken.Generates a cryptographically secure token.Sign a token.
-
Method Details
-
generateToken
String generateToken()Generates a cryptographically secure token.- Returns:
- a newly generated token.
-
generateSignedToken
String generateSignedToken()Generates a signed token by calling generateToken / signToken.- Returns:
- a newly generated token that has been signed.
-
signToken
Sign a token. This produces a new token, that has this token signed with a nonce.This primarily exists to defeat the BREACH vulnerability, as it allows the token to effectively be random per request, without actually changing the value.
- Parameters:
token- The token to sign- Returns:
- The signed token
-
extractSignedToken
Extract a signed token that was signed bysignToken(String).- Parameters:
token- The signed token to extract.- Returns:
- The verified raw token, or null if the token isn't valid.
-
compareSignedTokens
Compare two signed tokens.- Parameters:
tokenA- the first tokentokenB- another token- Returns:
- true if the tokens match and are signed, false otherwise.
-
asScala
play.api.libs.crypto.CSRFTokenSigner asScala()Utility method needed for CSRFCheck. Should not need to be used or extended by user level code.- Returns:
- the Scala API CSRFTokenSigner component.
-