Dim*_*lin 1 security authentication authorization jwt
我观看了一个指南,其中作者将访问令牌存储在 localStorage 中,然后他将访问令牌作为授权标头,并通过 axios 拦截器在每个请求中使用值“Bearer accessToken”。但我想知道为什么不像我们使用刷新令牌那样将访问令牌存储在 httpOnly cookie 中。如果有的话会出现什么问题?
将访问令牌存储在仅 HTTP、安全的同站点 cookie 中会更安全(如果它是 JWT 访问令牌并不重要)。它更安全,因为访问令牌的值无法通过跨站点脚本 (XSS) 攻击被窃取。但是,当您将访问令牌保存在 cookie 中时,您将无法将其发送到标头中的 API Authorization。浏览器无法设置授权标头,它仅附加 cookie。这意味着您可能需要一个位于前端和 API 之间的软件,并从 cookie 中提取访问令牌(这可以通过 API 网关等来完成)。
另请记住,在 cookie 中存储访问令牌会让您容易遭受跨站点请求伪造攻击 (CSRF),但有一些成熟的技术可以保护您免受 CSRF 的侵害。防范 CSRF 也比防范 XSS 更简单。
| 归档时间: |
|
| 查看次数: |
2270 次 |
| 最近记录: |