UNPKG

@tryauth/tryauth-client-ts

Version:

TypeScript library for OAuth2 Authentication

120 lines (119 loc) 4.35 kB
export declare class TryAuthAuthorizationResponse { AccessToken: string; IdToken: string; Email: string; ExpiresAt: number; Error: TryAuthError; } export declare class TryAuthAuthorizationCodeTokenResponse { AccessToken: string; IdToken: string; RefreshToken: string; TokenType: string; ExpiresIn: number; Error: TryAuthError; } export declare class TryAuthAuthorizationCodeResponse { Code: string; Scope: string; State: string; } export declare class TryAuthPkceCode { CodeVerifier: string; CodeChallenge: string; } declare class TryAuthAuthorizationOptions { ClientId?: string; ClientSecret?: string; IssuerEndpoint: string; RedirectUri?: string; ResponseType?: string; Scopes?: string; CodeChallenge?: string; IdToken?: string; State?: string; RefreshToken?: string; ExternalIssuerEndpoint?: string; ExternalClientId?: string; RequirePkce: boolean; } export declare class TryAuthError { error: string; } export default class TryAuth { localStorage: LocalStorageBackend; private readonly NONCE_KEY; private readonly REPONSE_URL_KEY; private readonly RESPONSE_TYPE_IDTOKEN_TOKEN; private readonly RESPONSE_TYPE_TOKEN_IDTOKEN; private readonly RESPONSE_TYPE_CODE; private readonly GRANT_TYPE; private readonly AUTHORIZATION_CODE; private readonly CLIENT_ID; private readonly CLIENT_SECRET; private readonly REDIRECT_URI; private readonly ACCESS_TOKEN; private readonly ID_TOKEN; private readonly SCOPE; private readonly STATE; private readonly CODE_VERIFIER; private readonly REFRESH_TOKEN; constructor(localStorage?: LocalStorageBackend); Authorize(tryAuthAuthorizationOptions: TryAuthAuthorizationOptions): Promise<void>; GetRedirect(tryAuthAuthorizationOptions: TryAuthAuthorizationOptions): void; GetAuthorizationCode(tryAuthAuthorizationOptions: TryAuthAuthorizationOptions): Promise<void>; LogoutAuthorizationCode(tryAuthAuthorizationOptions: TryAuthAuthorizationOptions): Promise<void>; LogoutEndSessionAuthorizationCode(tryAuthAuthorizationOptions: TryAuthAuthorizationOptions): void; CheckAuthorize(): Promise<TryAuthAuthorizationResponse>; CheckRedirect(): TryAuthAuthorizationResponse; GetSilentAuthorizationCodeToken(tryAuthAuthorizationOptions: TryAuthAuthorizationOptions): TryAuthAuthorizationCodeTokenResponse; GetAuthorizationCodeRefreshToken(tryAuthAuthorizationOptions: TryAuthAuthorizationOptions): TryAuthAuthorizationCodeTokenResponse; private Redirect; private GetResponseData; private GetAuthorizationCodeReponseData; private GetJwtPayload; private GetExpiresAt; private ValidateNonce; private GetAuthorizationKeyValue; private GetAuthorizationCodeKeyValue; private AuthorizeIdTokenToken; private GetRedirectAuthorizeIdTokenToken; private GetRedirectAuthorizeCode; private GetLogoutAuthorizationCode; private GetLogoutEndSessionAuthorizationCode; private PostAuthorizationCodeToken; private PostAuthorizationCodeRefreshToken; private SetDefaultHeaders; private SetNonceLocalStorage; private SetNonceLocalStorageSync; private SetResponseLocationUrl; private SetCodeVerifier; private GetCodeVerifier; private GetResponseLocationUrl; private GetResponseLocationUrlSync; private GetHeaderValue; private GetConnectAuthorizeEndpoint; private GetConnectTokenEndpoint; private LogoutEndpoint; private EndSessionEndpoint; private GetAuthorizeEndpoint; private GetAuthorizeEndpointSync; private GetAuthorizationCodeEndpoint; private GetLogoutEndpoint; private GetLogoutEndSessionEndpoint; private SendRequest; private EnsureExternalIssuerEndpoint; private EnsureASCII; private HasUnicode; private ConvertToASCII; } declare abstract class LocalStorageBackend { abstract getItem(name: string): Promise<string | null>; abstract getItemSync(name: string): string | null; abstract removeItem(name: string): Promise<void>; abstract removeItemSync(name: string): void; abstract clear(): Promise<void>; abstract setItem(name: string, value: string): Promise<void>; abstract setItemSync(name: string, value: string): void; } export {};