JWT 令牌解码
Posted
技术标签:
【中文标题】JWT 令牌解码【英文标题】:JWT token decode 【发布时间】:2018-10-05 16:45:52 【问题描述】:我正在创建一个基于网络的移动应用程序。我担心的是,即使没有密钥,也可以从 JWT WEBSITE 解码 JWT 令牌的有效负载。它显示 Invalid Signature 错误,但仍显示令牌中包含的有效负载。
我想知道在这种情况下使用 JWT 令牌有多安全。
这是我的 API 生成的示例令牌 - eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJKb2UiLCJuYW1lIjoidnl3diJ9.8xeKufZ-U5ksijK2fCeU7gnZ5Xg-eUTqlZ2SdxrslklHNm519xYx-0DkhEyNe2NRhMUNfyhNsnkpZWim9lqi5w
可能是我对 JWT 的了解不够,有什么解决办法吗?
【问题讨论】:
If you can decode JWT how are they secure?的可能重复 JWT 可以签名(JWS - 您在问题中提到的内容)、加密(JWE - 请参阅RFC7516)或两者(签名然后加密 - 仅按此顺序)。如果您需要 JWE 对 php 的支持,可以查看 github.com/web-token 【参考方案1】:来自jwt.io 页面:
什么时候应该使用 JSON 网络令牌?
以下是 JSON Web 令牌有用的一些场景:
身份验证:
这是使用 JWT 最常见的场景。用户登录后,每个后续请求都将包含 JWT,允许用户访问路由、服务和资源 允许使用该令牌。单点登录是一项广泛应用的功能 现在使用 JWT,因为它的开销小并且能够 轻松跨域使用。
信息交流:
JSON Web 令牌是在各方之间安全传输信息的好方法。因为 JWT 可以 签名——例如,使用公钥/私钥对——你可以确定 发件人就是他们所说的人。此外,由于签名是 使用标头和有效负载计算,您还可以验证 内容未被篡改。
所以它是安全的。您只需要使用密钥验证令牌,并且永远不要发送敏感数据(因为它可以被解密)。
【讨论】:
以上是关于JWT 令牌解码的主要内容,如果未能解决你的问题,请参考以下文章