Learn-json-web-tokens: Web 存储和渐进式增强

创建于 2015-10-15  ·  9评论  ·  资料来源: dwyl/learn-json-web-tokens

在#5、#46 和大多数在线讨论中,人们似乎默认为 JWT 使用本地存储/会话存储,而不是在 cookie 中。 这需要在整个应用程序中使用 AJAX,以便每次都可以从 Web 存储设置标头。 我的理解是,这是为了防止跨站点请求伪造(并且本质上是利用同源策略来做到这一点)。

这如何与渐进式增强相适应,其中一些设备根本不支持 javascript?

enhancement question

最有用的评论

不一定,但这取决于您的工具集。 例如,Angular 允许您设置一次。我认为您甚至可以轻松地使用 jquery。

$.ajaxSetup({
   headers: { 'x-my-custom-header': 'some value' }
});

将 cookie 作为令牌传输层的另一个问题是您使用了 2 个超时,并且您没有获得避免 CORS 问题的好处。 Cookie 使访问 RESTful Web 服务变得复杂。 与捆绑在 cookie 中相比,构造 curl one liner 以使用令牌访问资源要容易得多。

所有9条评论

_另一个_ _
出于这个微示例的目的,我认为它的“_Ok_”使用localStorage
老实说,这些天_每个人_都在使用 React,对可访问性的关注为零。
所有酷孩子_way_对_Shiny New Frameworks_比_Progressive Enhancement_更感兴趣......

然而...
在我们的 _actual_ 应用程序中,我们使用cookies _precisely_ 来实现向后兼容性和渐进式增强。
这就是我们向 JWT2 添加选项的原因……请参阅: https :

所以总而言之:我会在这个 repo 的例子中添加localStorage并添加一个comment通知人们使用 cookie 来存储 JWT 是“_Ohkay_”,因为你仍然可以获得所有 _horizo​​ntal 可扩展性_和安全性使用 JWT 的好处,同时节省必须设置/获取 JWT 并将其添加到每个请求的标头的 _effort_...

@rjmk & @nelsonic

存储在本地存储中的 JWTS 是否有特定原因应该在标头中发送,或者使用https://www.npmjs.com/package/node-localstorage是否存在任何易受攻击的/“错误”

@JbargetlocalStorage ? 如果这是您的用例,那么node-localstorage模块将满足您的目的。
_但是_您仍然必须_手动_在header中发送 JWT 以将其发送回“AJAX”请求中的服务器......是从localStorage获取/设置令牌...

@nelsonic我们可能最终会在每个请求的标头中设置它,感谢您的清晰!

@Jbarget你有 _objection_ 将 JWT 存储在 cookie 中吗? (_它简化了你的生活..._)

@nelsonic不反对,我是否认为它可以从应用程序中的任何位置访问 cookie 而不是本地/会话存储,从而简化了我的生活?

它简化了您的应用程序,因为一旦 cookie 由服务器 _set_,发送/接收的 _all_ 请求将始终包含 cookie。 这意味着你_永远_需要_思考_在那之后。
相比之下,将 JWT 存储在localStorage意味着您不能进行非 ajax 交互,并且您必须记住SET为您向服务器发出的每个请求的auth标头。 .

不一定,但这取决于您的工具集。 例如,Angular 允许您设置一次。我认为您甚至可以轻松地使用 jquery。

$.ajaxSetup({
   headers: { 'x-my-custom-header': 'some value' }
});

将 cookie 作为令牌传输层的另一个问题是您使用了 2 个超时,并且您没有获得避免 CORS 问题的好处。 Cookie 使访问 RESTful Web 服务变得复杂。 与捆绑在 cookie 中相比,构造 curl one liner 以使用令牌访问资源要容易得多。

这是问题已自动关闭,因为它已经超过一年了。 如果它仍然与您的项目相关,请随时重新打开它。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

nelsonic picture nelsonic  ·  5评论

alanshaw picture alanshaw  ·  6评论

nelsonic picture nelsonic  ·  4评论

KumarS-Naveen picture KumarS-Naveen  ·  3评论

NE-SmallTown picture NE-SmallTown  ·  5评论