Package com.auth0.jwt

Class JWTCreator.Builder

java.lang.Object
com.auth0.jwt.JWTCreator.Builder
Enclosing class:
JWTCreator

public static class JWTCreator.Builder extends Object
The Builder class holds the Claims that defines the JWT to be created.
  • Field Details

  • Constructor Details

    • Builder

      Builder()
  • Method Details

    • withHeader

      public JWTCreator.Builder withHeader(Map<String,Object> headerClaims)
      Add specific Claims to set as the Header.
      Parameters:
      headerClaims - the values to use as Claims in the token's Header.
      Returns:
      this same Builder instance.
    • withKeyId

      public JWTCreator.Builder withKeyId(String keyId)
      Add a specific Key Id ("kid") claim to the Header. If the Algorithm used to sign this token was instantiated with a KeyProvider, the 'kid' value will be taken from that provider and this one will be ignored.
      Parameters:
      keyId - the Key Id value.
      Returns:
      this same Builder instance.
    • withIssuer

      public JWTCreator.Builder withIssuer(String issuer)
      Add a specific Issuer ("iss") claim to the Payload.
      Parameters:
      issuer - the Issuer value.
      Returns:
      this same Builder instance.
    • withSubject

      public JWTCreator.Builder withSubject(String subject)
      Add a specific Subject ("sub") claim to the Payload.
      Parameters:
      subject - the Subject value.
      Returns:
      this same Builder instance.
    • withAudience

      public JWTCreator.Builder withAudience(String... audience)
      Add a specific Audience ("aud") claim to the Payload.
      Parameters:
      audience - the Audience value.
      Returns:
      this same Builder instance.
    • withExpiresAt

      public JWTCreator.Builder withExpiresAt(Date expiresAt)
      Add a specific Expires At ("exp") claim to the Payload.
      Parameters:
      expiresAt - the Expires At value.
      Returns:
      this same Builder instance.
    • withNotBefore

      public JWTCreator.Builder withNotBefore(Date notBefore)
      Add a specific Not Before ("nbf") claim to the Payload.
      Parameters:
      notBefore - the Not Before value.
      Returns:
      this same Builder instance.
    • withIssuedAt

      public JWTCreator.Builder withIssuedAt(Date issuedAt)
      Add a specific Issued At ("iat") claim to the Payload.
      Parameters:
      issuedAt - the Issued At value.
      Returns:
      this same Builder instance.
    • withJWTId

      public JWTCreator.Builder withJWTId(String jwtId)
      Add a specific JWT Id ("jti") claim to the Payload.
      Parameters:
      jwtId - the Token Id value.
      Returns:
      this same Builder instance.
    • withClaim

      public JWTCreator.Builder withClaim(String name, Boolean value) throws IllegalArgumentException
      Add a custom Claim value.
      Parameters:
      name - the Claim's name.
      value - the Claim's value.
      Returns:
      this same Builder instance.
      Throws:
      IllegalArgumentException - if the name is null.
    • withClaim

      public JWTCreator.Builder withClaim(String name, Integer value) throws IllegalArgumentException
      Add a custom Claim value.
      Parameters:
      name - the Claim's name.
      value - the Claim's value.
      Returns:
      this same Builder instance.
      Throws:
      IllegalArgumentException - if the name is null.
    • withClaim

      public JWTCreator.Builder withClaim(String name, Long value) throws IllegalArgumentException
      Add a custom Claim value.
      Parameters:
      name - the Claim's name.
      value - the Claim's value.
      Returns:
      this same Builder instance.
      Throws:
      IllegalArgumentException - if the name is null.
    • withClaim

      public JWTCreator.Builder withClaim(String name, Double value) throws IllegalArgumentException
      Add a custom Claim value.
      Parameters:
      name - the Claim's name.
      value - the Claim's value.
      Returns:
      this same Builder instance.
      Throws:
      IllegalArgumentException - if the name is null.
    • withClaim

      public JWTCreator.Builder withClaim(String name, String value) throws IllegalArgumentException
      Add a custom Claim value.
      Parameters:
      name - the Claim's name.
      value - the Claim's value.
      Returns:
      this same Builder instance.
      Throws:
      IllegalArgumentException - if the name is null.
    • withClaim

      public JWTCreator.Builder withClaim(String name, Date value) throws IllegalArgumentException
      Add a custom Claim value.
      Parameters:
      name - the Claim's name.
      value - the Claim's value.
      Returns:
      this same Builder instance.
      Throws:
      IllegalArgumentException - if the name is null.
    • withArrayClaim

      public JWTCreator.Builder withArrayClaim(String name, String[] items) throws IllegalArgumentException
      Add a custom Array Claim with the given items.
      Parameters:
      name - the Claim's name.
      items - the Claim's value.
      Returns:
      this same Builder instance.
      Throws:
      IllegalArgumentException - if the name is null.
    • withArrayClaim

      public JWTCreator.Builder withArrayClaim(String name, Integer[] items) throws IllegalArgumentException
      Add a custom Array Claim with the given items.
      Parameters:
      name - the Claim's name.
      items - the Claim's value.
      Returns:
      this same Builder instance.
      Throws:
      IllegalArgumentException - if the name is null.
    • withArrayClaim

      public JWTCreator.Builder withArrayClaim(String name, Long[] items) throws IllegalArgumentException
      Add a custom Array Claim with the given items.
      Parameters:
      name - the Claim's name.
      items - the Claim's value.
      Returns:
      this same Builder instance.
      Throws:
      IllegalArgumentException - if the name is null.
    • sign

      Creates a new JWT and signs is with the given algorithm
      Parameters:
      algorithm - used to sign the JWT
      Returns:
      a new JWT token
      Throws:
      IllegalArgumentException - if the provided algorithm is null.
      JWTCreationException - if the claims could not be converted to a valid JSON or there was a problem with the signing key.
    • assertNonNull

      private void assertNonNull(String name)
    • addClaim

      private void addClaim(String name, Object value)