- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
有趣的话题。因为我正在使用 Node.js Api 和 React Redux Client 创建我的第一个真正更大的项目,所以我需要身份验证。
现在我不知道如何“正确地”处理身份验证。
因为我看了很多关于它的话题,但是意见不一。
所以一开始有些人立即说:不要将 localStorage 与 JWT 一起使用。
例如这里有一篇文章:https://dev.to/rdegges/please-stop-using-local-storage-1i04
这是来自 auth0 的另一篇文章:https://auth0.com/docs/security/store-tokens
但后来我更深入地研究了身份验证的广阔世界,我发现很多人都说:
"localStorage is as secure as a cookie"
比如从第一篇文章第一条评论,第三条回复(这里有一个链接:https://dev.to/jondubois/comment/373l)
我的意思是他说对了?在阅读了这篇文章和其他一些文章和评论之后,如果您不是一家拥有非常敏感数据的银行,那么将其存储在 localStorage 中是完全可以的。
所以我在 2019 年,不是初学者,也不是经验丰富的开发人员,我在问自己应该如何实现这个身份验证流程而不至于过于复杂(有将 jwt 存储到 httpOnly cookie 中的流程例如),但另一方面也不是很容易破解。
我正在尝试创建一个论坛应用程序。您可以注册,创建自己的论坛,然后其他用户可以注册该论坛。基本身份验证,我只使用 JWT 发送 user_id 和 token 。
非常感谢你们的意见和建议。
最佳答案
我也在寻找这个答案,最后,我找到了关于 JWT token 安全性的非常有趣和有用的文章,即:
- https://security.stackexchange.com/questions/179487/store-splitted-jwt-for-csrf-protection-and-refresh-strategy
- https://medium.com/@jcbaey/authentication-in-spa-reactjs-and-vuejs-the-right-way-e4a9ac5cd9a3
TL;DR 你应该将 token 的第一部分存储在带有 httpOnly: true
参数的 cookie 中,将 token 的其余部分存储在没有 httpOnly
参数的 cookie 中,并且 Javascript 可以在浏览器中使用你的JWT 载荷信息。
关于javascript - 我应该在 2019 年将我的 JWT 存储在哪里,localStorage 真的不安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56364229/
我是 Angular 新手。使用 $localstorage(ngStorage) 是否有任何特定的原因而不是常规的 javascript localstorage 有什么区别。 谁能给我解释一下吗?
这个问题说明了一切。我意识到所有选项都可以在最新的浏览器中使用,但是语义上最好的选择是什么?为什么? 最佳答案 根据 W3C 标准,正确的是 window.localStorage,因为 localS
我想不出一个好的标题,所以希望可以。 我正在做的是创建一个离线 HTML5 webapp。 “出于某些原因”我不希望将某些文件放在缓存 list 中,而是希望将内容放在 localStorage 中。
我最近问了a question about LocalStorage .使用 JSON.parse(localStorage.item) 和 JSON.parse(localStorage['item
我最近问了a question about LocalStorage .使用 JSON.parse(localStorage.item) 和 JSON.parse(localStorage['item
我最近问过a question about LocalStorage 。使用 JSON.parse(localStorage.item) 和 JSON.parse(localStorage['item
我在将本地存储的定价添加到其他字段时遇到问题。如果我将 beforeNoonNPSlot 的价格设置为 2,但我将 matineeNPSlot 的字段留空(它应该保留分配给的任何价格)最后)。然后在我
我需要从 localStorage 对象变量中删除对象键而不从 localStorage 中删除键 let obj = localStorage; let keys = Object.keys(loc
根据我所读到的内容,我希望以下代码能够工作。 此代码是函数的一部分,该函数应该通过用下一个更高的 localStorage 变量覆盖它来删除 localStorage 变量。一旦没有更多内容可供复制,
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: JavaScript property access: dot notation vs. brackets? 我是
编写localStorage['key'] = value或localStorage.setItem('key', value)有区别吗? 我看到了this question标记为重复,但在开发人员工
我一直在做以下事情: var store = window.localStorage; store.setItem() 但现在我看到代码是这样做的: localStorage.setItem() 两者
我在 Chrome 上遇到此错误。不知道为什么会发生。任何帮助!我正在使用 Backbone.localStorage 插件和 Backbone。我在以下行中收到错误: localStorage: B
如果我尝试以下代码: var c = new Backbone.Collection(); c.localStorage = new Backbone.LocalStorage("items");
我想使用 localStorage 存储用户输入值,然后在倒计时器中使用该值。 这是用户输入数据的 HTML: Work Time
我有一个适用于 Mac 和 Linux 用户但不适用于 Windows 用户的 Chrome 扩展程序。当我进入控制台并在 localStorage 中设置一个项目时,它工作正常,但是当用户尝试使用扩
在这里浏览所有问题/答案,但找不到解决我的问题的方法。条件('localStorage' in window)返回 true但是 localStorage 的对象本身仍然是 undefined . 设
使用下面的代码,我创建一个 localstorage 变量,如果未定义,则其键为 quote = 1。然而,当最终使用相同的引号键再次调用它时,即使使用了 Number() 函数,它也会变成 11 而
我上次检查时,以下两行返回 true: null == localStorage["foo"]; null == localStorage.getItem("foo"); 将 null 替换为 und
我正在尝试在 NextJS 静态站点上使用 localStorage,但遇到 localStorage 未定义错误。 我的错误显示组件的代码是: export default function Cat
我是一名优秀的程序员,十分优秀!