Enum ClientAuthMethod

    • Enum Constant Detail

      • NONE

        public static final ClientAuthMethod NONE
        "none" (0).

        The Client does not authenticate itself at the Token Endpoint, either because it uses only the Implicit Flow (and so does not use the Token Endpoint) or because it is a Public Client with no Client Secret or other authentication mechanism.

      • CLIENT_SECRET_BASIC

        public static final ClientAuthMethod CLIENT_SECRET_BASIC
        "client_secret_basic" (1).

        Clients that have received a client_secret value from the Authorization Server authenticate with the Authorization Server in accordance with Section 3.2.1 of OAuth 2.0 [RFC6749] using the HTTP Basic authentication scheme.

      • CLIENT_SECRET_POST

        public static final ClientAuthMethod CLIENT_SECRET_POST
        "client_secret_post" (2).

        Clients that have received a client_secret value from the Authorization Server, authenticate with the Authorization Server in accordance with Section 3.2.1 of OAuth 2.0 [RFC6749] by including the Client Credentials in the request body.

      • TLS_CLIENT_AUTH

        public static final ClientAuthMethod TLS_CLIENT_AUTH
        "tls_client_auth" (5).

        Clients authenticate with the Authorization Server using X.509 certificates as defined in "Mutual TLS Profiles for OAuth Clients".

        Since:
        2.7
      • SELF_SIGNED_TLS_CLIENT_AUTH

        public static final ClientAuthMethod SELF_SIGNED_TLS_CLIENT_AUTH
        "self_signed_tls_client_auth" (6).

        Clients authenticate with the Authorization Server using self-signed certificates as defined in "Mutual TLS Profiles for OAuth Clients".

        Since:
        2.11
      • ATTEST_JWT_CLIENT_AUTH

        public static final ClientAuthMethod ATTEST_JWT_CLIENT_AUTH
        "attest_jwt_client_auth" (7).

        OAuth 2.0 Attestation-Based Client Authentication.

        Since:
        3.74, Authlete 3.0
    • Method Detail

      • values

        public static ClientAuthMethod[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (ClientAuthMethod c : ClientAuthMethod.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static ClientAuthMethod valueOf​(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • getValue

        public short getValue()
        Get the integer representation of this enum instance.
      • getByValue

        public static ClientAuthMethod getByValue​(short value)
        Find an instance of this enum by a value.
        Parameters:
        value - The integer representation of the instance to find.
        Returns:
        An instance of this enum, or null if not found.
      • parse

        public static ClientAuthMethod parse​(String method)
        Convert String to ClientAuthMethod.
        Parameters:
        method - Client authentication method. For example, "client_secret_basic".
        Returns:
        ClientAuthMethod instance, or null.
      • isSecretBased

        public boolean isSecretBased()
        Check if this instance represents a client-secret-based client authentication method.
        Returns:
        true if this instance is either CLIENT_SECRET_BASIC or CLIENT_SECRET_POST.
        Since:
        2.47
      • isCertificateBased

        public boolean isCertificateBased()
        Check if this instance represents a certificate-based client authentication method.
        Returns:
        true if this instance is either TLS_CLIENT_AUTH or SELF_SIGNED_TLS_CLIENT_AUTH.
        Since:
        2.47