JWT 解码器
在浏览器里解码 JSON Web Token。权杖不会离开这个分页,而这很重要,因为 JWT 通常就是一个还活着的工作阶段。
在你的浏览器中运行
请粘贴一个令牌。
原样显示。这里不会验证它,而要验证就代表你得交出签名密钥。
完全在这个页面里解码。JWT 通常就是一个还活着的会话,这里不会把它送到任何地方。
为什么这一个特别在意「在哪里执行」
你剪贴板里的 JWT,多半是一个还没过期的工作阶段。它不是杂凑值也不是指纹——它本身就是 凭据。任何拿到它的东西,在它过期之前都能以你的身分行动。
每一个把权杖送到服务器的线上 JWT 解码器,在那一刻就等于被交付了这个东西。大多数经营者对 你的权杖并没有兴趣;但那和「它是安全的」不是同一件事,而且你也无从查证。
这一页在分页内解码。没有任何传输,而且有一项浏览器测试断言解码一个权杖完全不会发出任何 网络请求——这个宣称是被测试过的,不只是写出来而已。
JWT 没有加密
这一点常让以为那串乱码藏着什么的人意外。
头部与内容是 base64url,不是加密。任何拿到权杖的人,不需要任何密钥就能读出里面每一个 声明——这一页做的正是这件事。签章并不隐藏内容,它只证明内容没有被窜改。
所以千万不要在 JWT 里放你不愿意写在明信片上的东西。不要放密码,也不要放你不愿意交给「最后 拿到这个权杖的人」的个人数据。
这一页比原始 JSON 多告诉你的事
看得懂的有效期限。exp、iat、nbf 都是 Unix 秒数,没有人能一眼读懂。这里会把它们
换算成当地时间,并直接说明这个权杖是不是已经过期。
**根本没有有效期限。**缺少 exp 会被当成一件独立的事实回报,而不是「尚未过期」。一个自己
永远不会过期的权杖,是比「昨天过期」更令人不安的东西,把两者混为一谈会把它藏起来。
**alg: none。**宣告没有算法的权杖等于没有签章,所以它的任何内容都不可信。这曾是一整类
著名的身分验证绕过手法的基础:服务器被诱导接受了一个本应验证的 none 权杖。
**异常长的寿命。**有效期超过三十天的都会被标记,因为长效的持有者权杖等于一个实务上无法撤销 的凭据。
验证是另一回事
这里只做解码,不做验证。检查签章需要密钥,而把签章密钥贴进网页,比贴权杖更糟——那把密钥签的 是所有权杖,不只这一个。
请在签发它的服务器上验证,或用一个持有密钥的本机工具。
没有任何上传
完全在这个页面里解码。权杖不会被储存、不会被记录,也不会被送出。