在 Angular 应用程序中存储身份验证令牌的替代方法

Posted

技术标签:

【中文标题】在 Angular 应用程序中存储身份验证令牌的替代方法【英文标题】:Alternative way to store an auth token in an Angular app 【发布时间】:2020-08-07 17:23:49 【问题描述】:

我目前正在实现一个角度应用程序,我正在从后端获取身份验证令牌。登录后,我将该令牌存储在浏览器的本地存储中。有没有其他方法来存储 Auth 令牌。我正在尝试避免本地存储或会话存储或 cookie。

如果有任何解决方案,请提出建议。另外,在登录的某个时间点(大约 20 分钟)后,我会收到一个刷新令牌。

【问题讨论】:

这有帮助吗? blog.angular-university.io/angular-jwt-authentication 【参考方案1】:

选项有限。您需要一个在重新加载完整页面后不会被破坏的存储。因此,本地存储或会话存储完全可以存储令牌,因为它们通常会在某个时候过期。 Cookie 也是一种选择。

我知道的另一种选择是浏览器的索引数据库:

https://www.npmjs.com/package/ngx-indexed-db

这是一个可在所有现代浏览器中使用的轻量级数据库。

【讨论】:

本地存储、会话存储和cookie之间哪一种最安全? Cookie 似乎是最安全的方式。当您使用 httpOnly 标志创建它们时,它们无法通过 javascript 访问。阅读此处了解更多信息:stormpath.com/blog/…

以上是关于在 Angular 应用程序中存储身份验证令牌的替代方法的主要内容,如果未能解决你的问题,请参考以下文章

Angular:处理重新加载页面和用户身份验证

浏览器中直接 URL 命中的 Jwt 令牌身份验证

ASP.Net Core、Angular2 和基于令牌的身份验证

如何在 angular.js 中使用令牌管理身份验证?

使用 Angular 和 spring 进行 Jwt 身份验证

在 Angular 6 + 节点 js 中使用令牌的身份验证问题