- 文档
- 开始使用
- TokenService
- 获取Token
- 常见问题
- 存储Token
- 发送Token
- 路由守卫
ITokenService 接口(默认实现 TokenService),只有四个方法及 login_url 属性:
set(data: ITokenModel): boolean 设置认证信息,同时触发 changeget(): ITokenModel 获取认证信息clear() 清除认证信息,同时触发 change 参数为 nullchange(): Observable<ITokenModel> 订阅认证信息变更回调login_url 获取登录地址,等同 forRoot() 所配置的值因此,当登录过程中后端返回相应的认证信息时,只要符合 ITokenModel 接口对象,都可以调用 set 方法将认证存储至 IStore (默认实现 LocalStorageStore) 当中。
constructor(@Inject(DA_SERVICE_TOKEN) service: ITokenService) {
service.set({ token: `asdf` });
service.get().token; // output: asdf
}
默认是采用 withLocalStorage 持久化存储,你可以在 app.config.ts 变更其他存储方式。
providers: [
provideHttpClient(withInterceptors([...(environment.interceptorFns ?? []), authJWTInterceptor, defaultInterceptor])),
provideAuth(withLocalStorage()),
]
包含三种存储类型:
localStorage 存储,关掉浏览器后不丢失。
sessionStorage 存储,关掉浏览器后丢失。
内存存储,关掉浏览器标签后丢失。
Cookie 存储。