UNPKG

@mornya/auth-libs

Version:

The project of JWT / JSON Authentication process library

57 lines (56 loc) 1.82 kB
type Next = (token: string) => void; type GetState<S> = () => S; type SetState<S> = (state: S) => void; type OnReceiveMeessagePayload<S> = { event: MessageEvent; next: Next; getState: GetState<S>; setState: SetState<S>; }; type DefaultTokenPayload<S> = { result: Result; getState: GetState<S>; setState: SetState<S>; }; type OnAcquiredTokenPayload<S> = DefaultTokenPayload<S>; type OnDroppedTokenPayload<S> = DefaultTokenPayload<S> & { next: Next; }; type OnExpiredTokenPayload<S> = DefaultTokenPayload<S> & { next: Next; }; type OnInvalidTokenPayload<S> = DefaultTokenPayload<S> & { next: Next; }; export type ResultStatusCode = 'SUCCEED' | 'EXPIRED' | 'NOT_JWT' | 'NOT_JSON' | 'NOT_ANY' | 'EMPTY'; export type Result = { statusCode: ResultStatusCode; accessToken: string; parsedToken: null | { exp?: number; [key: string]: any; }; expiredIn: number; isInitialTime: boolean; }; export type State<S = any> = S; export type Option<S = any> = { type?: 'JWT' | 'JSON'; storageTokenName: string; isProvidedFromPostMessage?: boolean; isShowLog?: boolean; notifyExpiredInHour?: number; expiredName?: string; expiredIn?: number; isInvokeExpiredEvent?: boolean; initialState?: State<S>; onReceiveMessage?(payload: OnReceiveMeessagePayload<S>): void; onAcquiredToken(payload: OnAcquiredTokenPayload<S>): void; onDroppedToken(payload: OnDroppedTokenPayload<S>): void; onExpiredToken(payload: OnExpiredTokenPayload<S>): void; onInvalidToken(payload: OnInvalidTokenPayload<S>): void; }; export declare function initialize<S>(authOption: Option<S>): void; export declare function destroy(): void; export declare function saveToken(key: string, value: string, expiredIn: number): void; export {};