我通常将用户令牌保存在本地存储中。我检查本地存储中的“令牌”键作为CanActivate方法来保护某些路由。如果键在那里,我让用户登陆页面,否则我重定向到登录页面。
现在,我使用cookie来存储auth令牌。令牌在服务器登录后直接存储在cookie中(set-cookie,secure:true,httpOnly:true)。
由于httpOnly,我无法从js检查是否存储令牌,而且我也不知道如何保护我的路由。我怎样才能像以前一样完成类似的处理?无论如何,我是否应该在登录时将某些内容保存在本地存储中,然后仅检查密钥是否存在?我可以检查密钥是否以某种方式存储在cookie中吗?
最佳答案
您可以使用NPM软件包ngx-cookie-service。
npm install ngx-cookie-service
在您的app.module中
import { CookieService } from 'ngx-cookie-service';
在组件中
constructor(private cookieService: CookieService) {}
…
public ngOnInit() {
this.cookieService.set('cookie-name','cookie value');
let cookieValue = this.cookieService.get('cookie-name');
}
https://itnext.io/angular-8-how-to-use-cookies-14ab3f2e93fc
问候