@asgardeo/javascript
Version:
Framework agnostic JavaScript SDK for Asgardeo.
74 lines (73 loc) • 2.4 kB
TypeScript
/**
* 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;
}