1. 认证管理器(authManager)
认证管理器负责认证相关的所有事宜,支持:
- 监听登录成功/登出事件,用于更新路由和维护认证状态
- 为所有的请求添加认证头信息
- 拦截认证请求响应,维护认证状态
- 首开或刷新页面时并且本地存在Token时,使用Token登录
1.1. 认证管理器配置
auth:
storageType: "local" # 认证Token的存储类型(可选,支持:local、session、cookie,默认为:local)
tokenLoginUrl: "/token-login" # Token认证地址(可选,默认为:"/token-login")
accessTokenHeader: "x-access-token" # 访问Token响应头名称(可选,默认为:"x-access-token")
refreshTokenHeader: "x-refresh-token" # 刷新Token响应头名称(可选,默认为:"x-refresh-token")
authUserDtoTokenHeader: "user" # 认证后返回的用户信息所在的响应头名称(可选,默认为:"user")
1.2. 登录成功/登出事件
认证管理器提供了登录成功事件(EVENT_LOGIN_SUCCESS)和登出事件(EVENT_LOGOUT),以便于和登录模块解耦。登录模块只需要在登录成功后/需要登出时发出对应的事件,而不需要了解更新路由和维护认证状态。
1.3. 认证状态
认证状态包括:
- 访问Token
- 刷新Token
- 当前用户
其中访问Token和刷新Token通过存储管理器保存在指定类型的存储中(默认为:local),当前用户则保存在内存中。
可以通过认证管理器提供的方法获取认证状态信息。
import {authManager} from "@zhoujianhui/vip3-core"
authManager.getAccessToken()
authManager.getRefreshToken()
authManager.getCurrentUser()