UNPKG

@openpass/openpass-js-sdk

Version:
49 lines (48 loc) 1.99 kB
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; }