c

play.api.libs.crypto

DefaultCSRFTokenSigner

class DefaultCSRFTokenSigner extends CSRFTokenSigner

This class is used for generating random tokens for CSRF.

Source
CSRFTokenSigner.scala
Linear Supertypes
CSRFTokenSigner, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DefaultCSRFTokenSigner
  2. CSRFTokenSigner
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new DefaultCSRFTokenSigner(signer: CookieSigner, clock: Clock)
    Annotations
    @Inject()

Value Members

  1. def compareSignedTokens(tokenA: String, tokenB: String): Boolean

    Compare two signed tokens

    Compare two signed tokens

    Definition Classes
    CSRFTokenSigner
  2. def extractSignedToken(token: String): Option[String]

    Extract a signed token that was signed by CSRFTokenSigner.signToken.

    Extract a signed token that was signed by CSRFTokenSigner.signToken.

    token

    The signed token to extract.

    returns

    The verified raw token, or None if the token isn't valid.

    Definition Classes
    CSRFTokenSigner
  3. def generateSignedToken: String

    Generate a signed token

    Generate a signed token

    Definition Classes
    CSRFTokenSigner
  4. def generateToken: String

    Generate a cryptographically secure token

    Generate a cryptographically secure token

    Definition Classes
    CSRFTokenSigner
  5. def signToken(token: String): String

    Sign a token.

    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.

    token

    The token to sign

    returns

    The signed token

    Definition Classes
    CSRFTokenSigner

Deprecated Value Members

  1. def constantTimeEquals(a: String, b: String): Boolean

    Constant time equals method.

    Constant time equals method.

    Given a length that both Strings are equal to, this method will always run in constant time. This prevents timing attacks.

    Definition Classes
    CSRFTokenSigner
    Deprecated

    Please use java.security.MessageDigest.isEqual(a.getBytes("utf-8"), b.getBytes("utf-8")) over this method.