【问题标题】:Using JWT claims vs. storing data about user in a plain text cookie使用 JWT 声明与将有关用户的数据存储在纯文本 cookie 中
【发布时间】:2018-05-22 23:43:13
【问题描述】:

用户只需使用 cookie(用户 ID、名称、角色..)登录后,我们的内部网系统就会存储用户数据

我今天正在学习 JWT 和令牌,想知道使用它与当前方式相比有什么优势吗?

在 cookie 中存储纯文本似乎是不安全的,但我也读到其他网站看不到这些 cookie..

那么有什么充分的理由使用 JWT 令牌吗?

【问题讨论】:

  • 您如何在服务器端验证 cookie 内容?例如,经过身份验证的用户是否可以更改其 UserId 或 Role(仅使用浏览器检查器)以访问未经授权的资源?你在使用 SSL/TLS 吗?
  • 验证?服务器只是从cookie中读取值..非常简单..那不好?我会使用什么工具来尝试更改我的 cookie 中的值(我是这份工作的新手,所以我没有这样做,但确实感觉不安全)
  • 打开 chrome 检查器 (F12)-->应用程序数据-->cookies,现在您可以使用这些值了。
  • 有趣。我会试试看我是否可以破解系统。如果是这样,那么我应该在这里向程序员提一下

标签: cookies jwt claims-based-identity


【解决方案1】:

创建它的域不能访问 cookie。这种限制称为“同源”策略,是一种保护站点本地数据的安全措施,但并不意味着您的 cookie 得到了方便的保护

由于您没有在服务器端验证 cookie 内容,例如,用户可以更改其 UserId 或 Role 以访问未经授权的资源。

JWT 可以帮助您,因为内容是使用密钥签名的。对内容的任何更改都会破坏数字签名,服务器将拒绝令牌。

另一种方法是使用服务器会话并将此数据存储在服务器上。 JWT 的缺点是它需要服务器存储。

【讨论】:

    猜你喜欢
    • 2018-01-18
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 2019-07-06
    • 2022-12-25
    • 2011-03-17
    • 2010-11-07
    • 2018-08-14
    相关资源
    最近更新 更多