UNPKG

@arkane-network/arkane-connect

Version:

Arkane Connect - api library for 3th parties

42 lines (41 loc) 1.71 kB
import { KeycloakInstance } from 'keycloak-js'; import { AuthenticationOptions } from './connect'; import { PopupWindow } from '../popup/PopupWindow'; export declare class Security { static onTokenUpdate: (token: string) => void; static getConfig(clientId?: string): any; static login(clientId: string, options?: AuthenticationOptions): Promise<LoginResult>; private static loginRedirect; private static loginPopup; static checkAuthenticated(clientId: string): Promise<LoginResult>; static logout(auth: Keycloak.KeycloakInstance): Promise<void>; private static keycloak; private static updateTokenInterval; private static authenticatedListener; private static popupWindow; private static logoutListener; private static isLoginPopupClosedInterval?; private static readonly AUTH_IFRAME_ID; private static readonly LOGOUT_IFRAME_ID; private static readonly checkAuthenticatedURI; private static readonly authenticateURI; private static readonly 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; private static keycloakLogin; private static initKeycloak; private static removeLoginState; private static cleanUp; } export interface LoginResult { keycloak?: KeycloakInstance; authenticated: boolean; popupWindow?: PopupWindow; }