angular - 在哪里以 Angular 存储 JWT token ?

标签 angular jwt

我正在用 Django 和 Angular 构建一个应用程序。目前,我将后端发布的 JWT 存储在本地存储中。但是,我担心 XSS 攻击。我应该使用仅 HTTP cookie 存储 token 吗?我还在考虑将 token 存储在我的身份验证服务类中的变量字段中。但我不完全确定 Angular 是否在整个应用程序中共享该服务。我的身份验证服务是否只有一个实例?

最佳答案

假设您使用标准依赖注入(inject),每次都会实例化一个新的服务实例,因此不会存储服务类中的字段。

session 或本地存储虽然很好。 JWT 机制可防止客户端轻易更改内容(因为您必须在下游后端服务上对其进行验证)。

可以想象,您可以在 JWT 有效负载中保留一些原始请求签名,并检查此匹配下的任何辅助请求。例如,IP 地址、用户代理字符串等。

就个人而言(只要它被正确实现),我认为这对于大多数面向 Web 的应用程序来说已经足够安全了。显然,银行/金融应用程序可能希望加倍努力,使用 2 因素身份验证等。

关于angular - 在哪里以 Angular 存储 JWT token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60034900/

相关文章:

angular - 如何仅在 Angular 5 或 6 中创建时间选择器?

security - session 和基于 token 的身份验证之间的技术差异

scala - 在 play2 剪影 JWTAuthenticator 中获取 JWT token

asp.net - 为什么 SignalR 在我的 Angular Web 应用程序中的协商调用中收到 404?

angular - Ionic 3 - 如何移动主题>variable.scss 文件

node.js - 如何使用 ngrok 将我的 Angular 4 暴露在互联网上?

html - (单击)事件在 innerHtml 字符串 Angular 4 中不起作用

Spring Boot 和 JWT - JSESSIONID 允许 REST 请求而不需要 JWT?

javascript - Node.js - 我应该在每次请求/响应时刷新 cookie 以更新过期时间吗?

OAuth-2.0/JWT-关于何时使用作用域与角色的指南