@tryauth/tryauth-client-ts
Version:
TypeScript library for OAuth2 Authentication
120 lines (119 loc) • 4.35 kB
TypeScript
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 {};