Class GrantType

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

@Immutable public final class GrantType extends Identifier
Authorisation grant type.
See Also:
  • Field Details

    • AUTHORIZATION_CODE

      public static final GrantType AUTHORIZATION_CODE
      Authorisation code. Client authentication required only for confidential clients.
    • IMPLICIT

      public static final GrantType IMPLICIT
      Implicit. Client authentication is not performed (except for signed OpenID Connect authentication requests).
    • REFRESH_TOKEN

      public static final GrantType REFRESH_TOKEN
      Refresh token. Client authentication required only for confidential clients.
    • PASSWORD

      public static final GrantType PASSWORD
      Password. Client authentication required only for confidential clients.
    • CLIENT_CREDENTIALS

      public static final GrantType CLIENT_CREDENTIALS
      Client credentials. Client authentication is required.
    • JWT_BEARER

      public static final GrantType JWT_BEARER
      JWT bearer, as defined in RFC 7523. Explicit client authentication is optional.
    • SAML2_BEARER

      public static final GrantType SAML2_BEARER
      SAML 2.0 bearer, as defined in RFC 7522. Explicit client authentication is optional.
    • DEVICE_CODE

      public static final GrantType DEVICE_CODE
      Device Code, as defined in OAuth 2.0 Device Flow for Browserless and Input Constrained Devices. Explicit client authentication is optional.
    • CIBA

      public static final GrantType CIBA
      Client Initiated Back-channel Authentication (CIBA), as defined in OpenID Connect Client Initiated Backchannel Authentication Flow - Core 1.0. Explicit client authentication is optional.
    • TOKEN_EXCHANGE

      public static final GrantType TOKEN_EXCHANGE
      Token Exchange, as defined in RFC 8693. Explicit client authentication is optional.
  • Constructor Details

    • GrantType

      public GrantType(String value)
      Creates a new OAuth 2.0 authorisation grant type with the specified value. The client authentication requirement is set to false. So is the client identifier requirement.
      Parameters:
      value - The authorisation grant type value. Must not be null or empty string.
  • Method Details

    • requiresClientAuthentication

      public boolean requiresClientAuthentication()
      Gets the client authentication requirement.
      Returns:
      true if explicit client authentication is always required for this grant type, else false.
    • requiresClientID

      public boolean requiresClientID()
      Gets the client identifier requirement.
      Returns:
      true if a client identifier must always be communicated for this grant type (either as part of the client authentication, or as a parameter in the token request body), else false.
    • getRequestParameterNames

      Gets the names of the token request parameters specific to this grant type.
      Returns:
      The parameter names, empty set if none.
    • equals

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

      public static GrantType parse(String value) throws ParseException
      Parses a grant type from the specified string.
      Parameters:
      value - The string to parse.
      Returns:
      The grant type.
      Throws:
      ParseException - If string is null, blank or empty.
    • ensure

      public static void ensure(GrantType grantType, Map<String,List<String>> params) throws ParseException
      Ensures the specified grant type is set in a list of parameters.
      Parameters:
      grantType - The grant type. Must not be null.
      params - The parameters. Must not be null.
      Throws:
      ParseException - If the grant type is not set.