Sign in

Class: MonoCloudOidcBackendClient

Constructors

Constructor

new MonoCloudOidcBackendClient(tenantDomain: string, audience: string, options?: MonoCloudOidcBackendClientOptions): MonoCloudOidcBackendClient

Creates a new instance of MonoCloudOidcBackendClient.

Parameters

ParameterTypeDescription
tenantDomainstringThe tenant domain URL.
audiencestringThe expected audience value used to validate the aud claim in access tokens.
options?MonoCloudOidcBackendClientOptionsAdditional client configuration options.

Returns

MonoCloudOidcBackendClient

Overrides

MonoCloudOidcClientBase.constructor

Properties

PropertyTypeDescription
clockSkewnumberNumber of seconds to adjust the current time to account for clock differences between the client and server during time-based claim validation. Defaults to 0.
clockTolerancenumberAdditional time tolerance in seconds applied when validating time-based claims (exp, nbf). Defaults to 300 (5 minutes).
fetcher?{(input: URL | RequestInfo, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; }Custom fetch implementation used for making HTTP requests. Falls back to the global fetch if not provided.
jwks?JwksCached JSON Web Key Set retrieved from the issuer's JWKS endpoint.
jwksCacheDurationnumberDuration (in seconds) for which the JWKS is cached. Defaults to 300 (5 minutes).
jwksCacheExpirynumberTimestamp (in seconds) when the cached JWKS expires.
metadata?IssuerMetadataCached issuer metadata retrieved from the OpenID Connect discovery endpoint.
metadataCacheDurationnumberDuration (in seconds) for which the metadata is cached. Defaults to 300 (5 minutes).
metadataCacheExpirynumberTimestamp (in seconds) when the cached metadata expires.
tenantDomainstringThe normalized tenant domain URL used as the base for discovery endpoints.

Methods

decodeJwt()

static decodeJwt(jwt: string): JwtClaims

Decodes the payload of a JSON Web Token (JWT) and returns it as an object.

Note: THIS METHOD DOES NOT VERIFY JWT TOKENS.

Parameters

ParameterTypeDescription
jwtstringJWT to decode.

Returns

JwtClaims

Decoded payload.

Throws

MonoCloudTokenError - If decoding fails

Inherited from

MonoCloudOidcClientBase.decodeJwt


getJwks()

getJwks(forceRefresh: boolean): Promise<Jwks>

Fetches the JSON Web Keys used to sign the ID token. The JWKS is cached for 5 minutes by default.

Parameters

ParameterTypeDescription
forceRefreshbooleanIf true, bypasses the cache and fetches fresh set of JWKS from the server.

Returns

Promise<Jwks>

The JSON Web Key Set containing the public keys for token verification.

Throws

MonoCloudHttpError - Thrown if there is a network error during the request or unexpected status code during the request or a serialization error while processing the response.

Inherited from

MonoCloudOidcClientBase.getJwks


getMetadata()

getMetadata(forceRefresh: boolean): Promise<IssuerMetadata>

Fetches the authorization server metadata from the .well-known endpoint. The metadata is cached for 5 minutes by default.

Parameters

ParameterTypeDescription
forceRefreshbooleanIf true, bypasses the cache and fetches fresh metadata from the server.

Returns

Promise<IssuerMetadata>

The issuer metadata for the tenant, retrieved from the OpenID Connect discovery endpoint.

Throws

MonoCloudHttpError - Thrown if there is a network error during the request or unexpected status code during the request or a serialization error while processing the response.

Inherited from

MonoCloudOidcClientBase.getMetadata


introspectAccessToken()

introspectAccessToken(accessToken: string, options?: IntrospectOptions): Promise<AccessTokenClaims>

Validates an opaque access token using the OAuth 2.0 Token Introspection endpoint (RFC 7662).

Parameters

ParameterTypeDescription
accessTokenstringThe access token string to introspect.
options?IntrospectOptionsClaims validation options.

Returns

Promise<AccessTokenClaims>

Validated access token claims (without the active field).

Throws

MonoCloudTokenError - If the token is not active or claim validation fails.

Throws

MonoCloudOPError - When the introspection endpoint returns a standardized OAuth 2.0 error response.

Throws

MonoCloudHttpError - Thrown if there is a network error during the request or unexpected status code during the request or a serialization error while processing the response.

Throws

MonoCloudValidationError - When the access token is empty or the introspection endpoint is not available in the issuer metadata or claims validation fails.


setClockSkew()

setClockSkew(clockSkew: number): void

Sets clock skew used for access token time-based claim validation.

Parameters

ParameterTypeDescription
clockSkewnumberNumber of seconds to adjust the current time to account for clock differences.

Returns

void


setClockTolerance()

setClockTolerance(clockTolerance: number): void

Sets clock tolerance used for access token time-based claim validation.

Parameters

ParameterTypeDescription
clockTolerancenumberAdditional time tolerance in seconds for time-based claim validation.

Returns

void


validateJwtAccessToken()

validateJwtAccessToken(accessToken: string, options?: ValidateJwtAccessTokenOptions): Promise<AccessTokenClaims>

Validates a JWT access token by verifying the signature and claims.

Parameters

ParameterTypeDescription
accessTokenstringThe access token JWT string to validate.
options?ValidateJwtAccessTokenOptionsValidation options.

Returns

Promise<AccessTokenClaims>

Validated access token claims.

Throws

MonoCloudTokenError - If JWT parsing, signature verification, or claim validation fails.

Throws

MonoCloudHttpError - Thrown if there is a network error during the request or unexpected status code during the request or a serialization error while processing the response.

Throws

MonoCloudValidationError - When the access token is empty or claims validation fails.

© 2024 MonoCloud. All rights reserved.