-1

我在我的网站上使用 JWT 身份验证来获取登录数据。看起来我们可以在没有密钥的情况下解码 JWT 令牌。试试下面的网站。这让我很震惊。那么除了 JWT Token 身份验证之外,还有没有更好的令牌身份验证方法。

http://calebb.net/

您可以尝试使用任何键。来自站点https://medium.com/@siddharthac6/json-web-token-jwt-the-right-way-of-implementing-with-node-js-65b8915d550e的示例

Token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhMSI6IkRhdGEgMSIsImRhdGEyIjoiRGF0YSAyIiwiZGF0YTMiOiJEYXRhIDMiLCJkYXRhNCI6IkRhdGEgNCIsImlhdCI6MTUyNTE5MzM3NywiZXhwIjoxNTI1MjM2NTc3LCJhdWQiOiJodHRwOi8vbXlzb2Z0Y29ycC5pbiIsImlzcyI6Ik15c29mdCBjb3JwIiwic3ViIjoic29tZUB1c2VyLmNvbSJ9.ID2fn6t0tcoXeTgkG2AivnG1skctbCAyY8M1ZF38kFvUJozRWSbdVc7FLwot-bwV8k1imV8o0fqdv5sVY0Yzmg

4

1 回答 1

1

您提供的令牌是 JWS,即签名令牌。与任何其他数字签名数据一样,可以读取有效负载。

我认为混淆来自您提到的文章编写位置,Encryption algorithm to be used to protect the token而对于 JWS,算法是签名算法。

希望有用户评论It [the token] is encoded in plain base64

其他 SO 用户指出了这个问题另一个非常相似的问题。

  • 通常令牌只是签名(JWS
  • 令牌也可以加密(JWE)或签名然后加密(嵌套令牌

通过适当的方式(仅会话存储、HTTPS 通道、Httponly+安全 cookie),即使可以读取内容,JWS 也可以得到完美保护。

于 2019-06-18T05:54:39.593 回答