UNPKG

ohayolibs

Version:

Ohayo is a set of essential modules for ohayojp.

41 lines (30 loc) 1.35 kB
--- order: 2 title: TokenService type: Documents --- `ITokenService` 接口包含了一些对 Token 操作的服务类,例如获取当前 Token 信息: ```ts constructor(@Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService) { console.log(tokenService.get().token); // 如果是 JWT console.log(tokenService.get<JWTTokenModel>(JWTTokenModel).token); } ``` ## 过期刷新 订阅 `refresh` 后 Token 过期时会自动触发,当后端支持 Token 刷新可以,可以在过期前刷新 Token 来延长用户授权时长。 > **建议** `refresh` 在整个应用中只订阅一次。 ## API ### 属性 | 参数名 | 类型 | 描述 | |-----|----|----| | `[login_url]` | `string` | 获取 `OhayoAuthConfig` 配置的登录地址 | | `[referrer]` | `AuthReferrer` | 获取授权失败前路由信息 | | `[refresh]` | `Observable<ITokenModel>` | 订阅刷新,订阅时会自动产生一个定时器,每隔一段时间进行一些校验;**注意** 会多次触发,请务必做好业务判断 | ### 方法 | 方法名 | 返回类型 | 描述 | |-----|------|----| | `change()` | `Observable<ITokenModel>` | 监听 Token 变化回调 | | `set(data: ITokenModel)` | `boolean` | 设置 Token | | `get(type?: any)` | `ITokenModel` | 获取 Token | | `clear(options?: { onlyToken: boolean })` | `void` | 清空 Token |