import { AuthingSPAInitOptions, LoginState, LoginStateWithCustomStateData, UserInfo } from './global'; export declare class Authing { private globalMsgListener; private readonly options; private readonly loginStateProvider; private readonly transactionProvider; private readonly domain; constructor(options: AuthingSPAInitOptions); /** * 按顺序用以下方式获取用户登录态: * * 1. 本地缓存获取 * 2. 隐藏 iframe 获取 * * @param options.ignoreCache 忽略本地缓存 */ getLoginState(options?: { ignoreCache?: boolean; }): Promise; /** * 将用户重定向到 Authing 认证端点进行登录,需要配合 handleRedirectCallback 使用 * * @param options.redirectUri 回调地址,默认为初始化参数中的 redirectUri * @param options.originalUri 发起登录的 URL,若设置了 redirectToOriginalUri 会在登录结束后重定向回到此页面,默认为当前 URL * @param options.forced 即使在用户已登录时也提示用户再次登录 * @param options.customState 自定义的中间状态,会被传递到回调端点 */ loginWithRedirect(options?: { redirectUri?: string; originalUri?: string; forced?: boolean; customState?: any; }): Promise; /** * 判断当前 URL 是否为 Authing 登录回调 URL */ isRedirectCallback(): boolean; /** * 在回调端点处理 Authing 发送的授权码或 token,获取用户登录态 */ handleRedirectCallback(): Promise; /** * 弹出一个新的 Authing 登录页面窗口,在其中完成登录 * * @param options.redirectUri 回调地址,需要和当前页面在 same origin 下;默认为初始化参数中的 redirectUri 或 window.location.origin * @param options.forced 即使在用户已登录时也提示用户再次登录 */ loginWithPopup(options?: { redirectUri?: string; forced?: boolean; }): Promise; /** * 手动中止 iframe 登录, 并移除 SDK 注册的事件监听器 */ /** * 用 Access Token 获取用户身份信息 * * @param options.accessToken Access Token,默认从登录态中获取 */ getUserInfo(options?: { accessToken?: string; }): Promise; /** * 重定向到 Authing 的登出端点,完成登出操作 * * @param options.redirectUri 登出完成后的回调地址,默认为初始化参数中的 logoutRedirectUri * @param options.state 自定义中间状态 */ logoutWithRedirect(options?: { redirectUri?: string | null; state?: string; }): Promise; private listenToPostMessage; private saveLoginState; private exchangeToken; private handleOIDCWebMsgResponse; private resolveCallbackParams; }