UNPKG

@venly/connect

Version:

Venly Connect SDK

47 lines (46 loc) 1.97 kB
import { KeycloakInstance } from 'keycloak-js'; import { AuthenticationOptions } from './connect'; import { PopupWindowAsync } from '../popup/PopupWindowAsync'; export declare class Security { static onTokenUpdate: (token: string) => void; static getConfig(clientId: string): any; static login(clientId: string, options?: AuthenticationOptions, cid?: string): Promise<LoginResult>; private static loginRedirect; private static loginPopup; static checkAuthenticated(clientId: string, options: AuthenticationOptions): Promise<LoginResult>; static logout(auth: Keycloak.KeycloakInstance): Promise<void>; static hasPopupWindow(): boolean; static closePopupWindow(): void; static focusPopupWindow(): void; private static keycloak; private static updateTokenInterval; private static authenticatedListeners; private static popupWindow; private static logoutListener; private static isLoginPopupClosedInterval?; private static readonly AUTH_IFRAME_ID; private static readonly LOGOUT_IFRAME_ID; private static readonly THIRD_PARTY_COOKIES_DISABLED; private static get checkAuthenticatedURI(); private static get authenticateURI(); private static get logoutURI(); private static initialiseAuthenticatedListener; private static createLogoutListener; private static initialiseLoginPopup; private static initialiseIsLoginPopupClosedInterval; private static clearIsLoginPopupClosedInterval; private static initialiseCheckAuthenticatedIFrame; private static initialiseLogoutIFrame; private static initialiseIFrame; private static setUpdateTokenInterval; static forceUpdateToken(): Promise<void>; private static keycloakLogin; private static initKeycloak; private static removeLoginState; private static cleanUp; } export interface LoginResult { keycloak?: KeycloakInstance; authenticated: boolean; popupWindow?: PopupWindowAsync; }