我应该在哪里存储“非单页”前端应用程序的 JSON Web 令牌
Posted
技术标签:
【中文标题】我应该在哪里存储“非单页”前端应用程序的 JSON Web 令牌【英文标题】:Where should i store my JSON Web Token for a 'non-singlepage' frontend application 【发布时间】:2016-12-31 04:05:25 【问题描述】:我最近使用 JWT 作为身份验证方法使用 hapiJS 构建了一个简单的 REST API。 我现在想构建一个纯 ES6 前端,但它不一定是 SPA(会有不止一个 .html 文件)。
我的问题: 登录后存储 JWT 的最佳方式是什么。本地存储,Cookie?
【问题讨论】:
视情况而定,请阅读cryto.net/~joepie91/blog/2016/06/13/stop-using-jwt-for-sessions 【参考方案1】:如果您将其存储在 cookie 中,您将容易受到 CSRF 攻击,因为浏览器会自动随每个请求发送令牌。有关这些类型的攻击的更多信息,请参阅:
https://en.wikipedia.org/wiki/Cross-site_request_forgery
我建议将其存储在 localstorage 中,然后通过请求的头部发送令牌。 注意:您的浏览器不会自动为您执行此操作!
例子:
x-access-token: Bearer -jwt goes here-
【讨论】:
以上是关于我应该在哪里存储“非单页”前端应用程序的 JSON Web 令牌的主要内容,如果未能解决你的问题,请参考以下文章
我应该在哪里存储我的 Xcode Swift 应用程序的初始数据?