@venly/connect
Version:
Venly Connect SDK
47 lines (46 loc) • 1.97 kB
TypeScript
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;
}