UNPKG

@asgardeo/javascript

Version:
74 lines (73 loc) 2.4 kB
/** * Copyright (c) 2022, WSO2 LLC. (https://www.wso2.com). All Rights Reserved. * * WSO2 LLC. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except * in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ import { Crypto, JWKInterface } from './models/crypto'; import { IdToken } from './models/token'; export declare class IsomorphicCrypto<T = any> { private _cryptoUtils; constructor(cryptoUtils: Crypto<T>); /** * Generate code verifier. * * @returns code verifier. */ getCodeVerifier(): string; /** * Derive code challenge from the code verifier. * * @param verifier - Code verifier. * * @returns - code challenge. */ getCodeChallenge(verifier: string): string; /** * Get JWK used for the id_token * * @param jwtHeader - header of the id_token. * @param keys - jwks response. * * @returns public key. * * @throws */ getJWKForTheIdToken(jwtHeader: string, keys: JWKInterface[]): JWKInterface; /** * Verify id token. * * @param idToken - id_token received from the IdP. * @param jwk - public key used for signing. * @param clientId - app identification. * @param issuer - id_token issuer. * @param username - Username. * @param clockTolerance - Allowed leeway for id_tokens (in seconds). * * @returns whether the id_token is valid. * * @throws */ isValidIdToken(idToken: string, jwk: JWKInterface, clientId: string, issuer: string, username: string, clockTolerance: number | undefined, validateJwtIssuer: boolean | undefined): Promise<boolean>; /** * This function decodes the payload of an id token and returns it. * * @param idToken - The id token to be decoded. * * @returns - The decoded payload of the id token. * * @throws */ decodeIdToken(idToken: string): IdToken; }