@arkane-network/arkane-connect
Version:
Arkane Connect - api library for 3th parties
42 lines (41 loc) • 1.71 kB
TypeScript
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;
}