UNPKG

@mamba-le/auth

Version:
200 lines (199 loc) 4.93 kB
import { Subject } from 'rxjs'; import { AuthController, IAuthOptions } from './auth'; import { InfoController } from './info'; declare global { interface Window { __MICRO_APP_ENVIRONMENT__: boolean; rawWindow: Window; /** * 挂载的顶层 PortalAuthController * @type {PortalAuthController} * @memberof Window */ PortalAuth: PortalAuthController; } } export interface IPortalAuthOptions { /** * Portal 类型 * @type {('General' | 'BP' | 'SP')} * @memberof IPortalAuthOptions */ PortalType?: 'General' | 'BP' | 'SP'; /** * Token 类型 * @type {('JWT' | 'Other')} * @memberof IPortalAuthOptions */ TokenType?: 'JWT' | 'Other'; BPAuth?: IAuthOptions; SPAuth?: IAuthOptions; } /** * Portal 认证信息 BP&SP * @export * @class PortalAuthController */ export declare class PortalAuthController { protected readonly options: IPortalAuthOptions; static get env(): { version: string; timestamp: string; }; get env(): { version: string; timestamp: string; }; /** * 存储的单列 * @private * @static * @type {PortalAuthController} * @memberof PortalAuthController */ protected static PortalAuth: PortalAuthController; /** * 混合认证 * @protected * @static * @type {AuthController} * @memberof PortalAuthController */ protected static GeneralAuth: AuthController; /** * BP 认证 * @protected * @static * @type {AuthController} * @memberof PortalAuthController */ protected static BPAuth: AuthController; /** * SP 认证 * @protected * @static * @type {AuthController} * @memberof PortalAuthController */ protected static SPAuth: AuthController; /** * 基础信息 * @protected * @static * @type {InfoController} * @memberof PortalAuthController */ protected static PortalInfo: InfoController; /** * 引流信息 * @protected * @static * @type {InfoController} * @memberof PortalAuthController */ protected static PortalDrainage: InfoController; protected static createAuth(options: IPortalAuthOptions): void; constructor(options?: IPortalAuthOptions); /** * 持久化初始化完成 Subject * @type {Promise<any>} * @memberof ControllerUser */ protected readonly HydrateSubject: Subject<Boolean>; /** * 持久化初始化完成 Promise * @type {Promise<any>} * @memberof ControllerUser */ get HydrateAsync(): Promise<this>; /** * 异步 HydrateSubject 已经完成 * @readonly * @memberof PortalAuthController */ get HydrateisStopped(): boolean; /** * BP Auth * @type {AuthController} * @memberof PortalAuthController */ protected get BPAuth(): AuthController; /** * SP Auth * @type {AuthController} * @memberof PortalAuthController */ protected get SPAuth(): AuthController; /** * 通用的 Auth * @type {AuthController} * @memberof PortalAuthController */ protected get GeneralAuth(): AuthController; /** * 数据 Info * @readonly * @memberof PortalAuthController */ protected get PortalInfo(): InfoController<any>; /** * 数据 引流 * @readonly * @protected * @memberof PortalAuthController */ protected get PortalDrainage(): InfoController<any>; /** * 基础数据 * @readonly * @memberof PortalAuthController */ get Info(): any; /** * 引流数据 * @readonly * @memberof PortalAuthController */ get Drainage(): any; /** * AccessToken 返回校验 时间是否过期 过期 的 AccessToken 不返回 * @readonly * @memberof PortalAuthController */ get AccessToken(): any; /** * AccessToken 解码信息 * @readonly * @memberof PortalAuthController */ get JwtDecoded(): import("./auth").JWTDecoded; /** * 保存 AccessToken 校验有效性 无效过滤 * @param {string} [AccessToken=undefined] * @memberof PortalAuthController */ onSaveAccessToken(AccessToken?: string, setCookie?: boolean): void; /** * 存储info 信息 * @param {*} value * @memberof PortalAuthController */ onSaveInfo(value: any): void; /** * 存储 Drainage 信息 * @param {*} value * @memberof PortalAuthController */ onSaveDrainage(value: any): void; /** * 清理所有的登录信息 * @return {*} * @memberof AuthController */ onClear(): Promise<void>; /** * 创建持久化存储 * @memberof BaseModel */ protected createHydrate(): Promise<void>; }