Client Assertion JWT

This authentication method leverages PKI (Public Key Infrastructure) and eliminates the need to store or transfer shared secrets. For more details, refer to the RFC 7523 specification.

How it works

The client must generate an assertion JWT containing the specified header and claims, signed with one of the private keys corresponding to the public keys included in the JWKS provided during onboarding.

Client Assertion JWT Structure

JWT Header Example

{
    "typ" : "JWT",
    "kid": "d591e152-886e-46cc-aa70-36a4431162a6",
    "alg" : "ES256"
}

JWT Header Fields

Field
Description

alg

The algorithm used for signing the JWT. Supported values are ES256, ES256K, ES384, and ES512.

kid

The Key ID associated with the signing key, matching the JWK provided during onboarding.

typ

The type of the token, typically set to "JWT".

JWT Claims

Claims
Description

sub

The client ID of the registered client.

aud

The recipient for whom this JWT is intended. This must match the issuer field in the response of the OpenID Discovery endpoint.

iss

The client ID of the registered client.

iat

The time at which the JWT was issued. Refer to the RFC specification for details.

exp

The expiration time on or after which the JWT must not be accepted by Corppass for processing.

Corppass will reject tokens with an exp longer than 10 minutes from the iat . Refer to the Section 3 of RFC 7523 for more details.

jti

The unique identifier for the JWT, used to prevent token reuse.

This claim is optional in the existing API version; refer to Section 4.1 of RFC 7519 specification for details. However, it is strongly recommended for enhanced security, as outlined in Section 9 of the OIDC Core Specification. This claim will be mandatory in the next major API version. Implementations must ensure the jti is unique for each JWT.

To avoid disruptions, please plan to update your applications accordingly to avoid any disruptions. We strongly recommend reviewing the updated API documentation and transitioning to the new requirements as soon as possible.

Last updated