@openpass/openpass-js-sdk
Version:
OpenPass SSO JavaScript SDK
49 lines (48 loc) • 1.99 kB
TypeScript
import { OpenPassApiClient } from "./api/openPassApiClient";
import { QuickAuthSignInOptions, OpenPassOptions } from "../types";
import PopupAuth from "./popup";
import RedirectAuth from "./redirect";
import SilentAuth from "./silentAuth";
export declare const QUICK_AUTH_LOCAL_STORAGE_KEY = "openPassQuickAuthDismissalData";
/**
* Handles rendering and functionality of quick-auth dialog.
*/
export default class QuickAuth {
private readonly redirectAuth;
private readonly popupAuth;
private readonly silentAuth;
private readonly openPassOptions;
private readonly apiClient;
private quickAuthSignInOptions;
private isInitialized;
private isVisible?;
private parentContainer;
private quickAuthDialogIFrame?;
/**
* Instantiates a new instance of the QuickAuth class.
* @param openPassOptions - The OpenPass options.
* @param redirectAuth - The redirect authentication object.
* @param popupAuth - The popup authentication object.
* @param apiClient - Holds all methods that call the OpenPass API.
* @param silentAuth - The silent authentication object.
*/
constructor(openPassOptions: OpenPassOptions, redirectAuth: RedirectAuth, popupAuth: PopupAuth, apiClient: OpenPassApiClient, silentAuth: SilentAuth);
/**
* Renders the quick-auth dialog with the specified options.
* @param options - The quick-auth dialog options.
* @throws {SdkError} If the required options are missing.
*/
render(options: QuickAuthSignInOptions): void;
private showWithDelay;
showInstantly: (ignoreVisibilityCheck?: boolean) => void;
hideInstantly: () => void;
private messageHandler;
private handleInitializedMessage;
private handleContinueButtonMessage;
private handleCloseButtonMessage;
private createHiddenQuickAuthIframe;
private setupQuickAuthIframeHeight;
private getDismissalData;
private clearDismissalData;
private incrementDismissalData;
}