UNPKG

heimdall-tide

Version:

SDK for communicating with a Tide Enclave

58 lines (57 loc) 1.6 kB
export interface HeimdallConstructor { vendorId: string; homeOrkOrigin: string; voucherURL: string; signed_client_origin: string; } export declare abstract class Heimdall<T> implements EnclaveFlow<T> { name: string; _windowType: windowType; enclaveOrigin: string; voucherURL: string; signed_client_origin: string; vendorId: string; private enclaveWindow; constructor(init: HeimdallConstructor); enclaveClosed(): boolean; getOrkUrl(): URL; open(): Promise<boolean>; send(data: any): void; recieve(type: string): Promise<any>; close(): void; onerror(data: any): void; private openPopUp; private closeHiddenIframe; private openHiddenIframe; private closePopupEnclave; private waitForWindowPostMessage; private sendPostWindowMessage; private processEvent; } export declare enum windowType { Popup = 0, Redirect = 1, Hidden = 2 } export interface HiddenInit { doken: string; /** * @returns A refresh doken for Heimdall */ dokenRefreshCallback: () => Promise<string> | undefined; /** * @returns A function that re authenticates the current user from the client. (Used to update their session key on Identity System). Returns a new doken too. */ requireReloginCallback: () => Promise<string>; } interface EnclaveFlow<T> { name: string; _windowType: windowType; open(): Promise<boolean>; send(data: any): void; recieve(type: string): Promise<any>; close(): void; onerror(data: any): void; getOrkUrl(): URL; } export {};