gpt4 book ai didi

jwt - 为什么我可以在 jwt.io 上轻松解码 auth0 id_token?

转载 作者:行者123 更新时间:2023-12-04 18:32:08 26 4
gpt4 key购买 nike

好的,我正在开发一个 Angular 2 应用程序。我添加了 auth0 身份验证,但对我来说它处理 session 非常不安全。 jwt token 未加密并保存在 localStorage 中。这些声明对任何人都是可见的,它们可以很容易地被解码和揭示。更不用说,Web Storage 本身并不是一个安全的地方。

我选择了 JWT,因为后来我想用电子将此 Web 应用程序转换为桌面应用程序,所以我不能使用 cookie session 。我的用户将拥有诸如角色之类的附加信息,我不想在每次请求时都在 db 中查找这些信息,这就是我想将它们存储在 jwt 中的原因。加密数据是有意义的,但 auth0 似乎没有提供该功能。

如果像角色这样的声明存储在不 protected localStorage 中,是什么阻止我去 Firefox 控制台并更改 token ,例如让自己成为管理员?

最佳答案

If claims like roles are stored in localStorage unprotected, what's stopping me to go to firefox console and change the token, e.g. make myself an admin?


因为 JWT 签名 , 因此在验证过程中将检测到对内容或签名的任何更改
数字签名,像这样的 JWT token 的第三部分 hhhhhh.ppppppp.ssssss是使用服务器私钥创建的,是您可以验证 token 发行者身份以及它未被更改的方式
如果您想隐藏有效负载,JWT 规范允许使用加密(请参阅 Json Web Encryption-JWE at RFC)。如果 auth0 不支持它,那么 jwt.io 中列出了很多库。

关于jwt - 为什么我可以在 jwt.io 上轻松解码 auth0 id_token?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38457590/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com