Class Nonce

java.lang.Object
com.nimbusds.oauth2.sdk.id.Identifier
com.nimbusds.openid.connect.sdk.Nonce
All Implemented Interfaces:
Serializable, Comparable<Identifier>, net.minidev.json.JSONAware

@Immutable public final class Nonce extends Identifier
Nonce. This is a random, unique string value to associate a user-session with an ID Token and to mitigate replay attacks.

Example generation of a 16 byte random nonce:

 Nonce nonce = new Nonce(16);
 

Related specifications:

  • OpenID Connect Core 1.0, section 3.1.2.1. and 15.5.2.
See Also:
  • Constructor Details

    • Nonce

      public Nonce(String value)
      Creates a new nonce with the specified value.
      Parameters:
      value - The nonce value. Must not be null or empty string.
    • Nonce

      public Nonce(int byteLength)
      Creates a new nonce with a randomly generated value of the specified byte length, Base64URL-encoded.
      Parameters:
      byteLength - The byte length of the value to generate. Must be greater than one.
    • Nonce

      public Nonce()
      Creates a new nonce with a randomly generated 256-bit (32-byte) value, Base64URL-encoded.
  • Method Details

    • equals

      public boolean equals(Object object)
      Overrides:
      equals in class Identifier
    • parse

      public static Nonce parse(String s)
      Parses a nonce from the specified string.
      Parameters:
      s - The string to parse, null or empty if no nonce is specified.
      Returns:
      The nonce, null if the parsed string was null or empty.
    • isRequired

      public static boolean isRequired(ResponseType responseType)
      Returns true if the specified OAuth 2.0 response type requires a nonce.
      Parameters:
      responseType - The response type. Must not be null.
      Returns:
      true if a nonce is required, false if not.