简体中文

开发者工具·JWT解码器

切勿将实时访问令牌粘贴到服务器端 JWT 解码器中

· 为什么它很重要

杰威特 安全 隐私

通过明确的隐私边界与远程上传服务器分开的凭证令牌
原始 ToolAcre 矢量图

不记名令牌是一种凭证:无论谁持有它,都可以充当您的角色,直到它过期。这篇文章解释了当您将其粘贴到与其服务器通信的工具中时所传递的内容,以及如何安全地进行调试。

在压力下快速粘贴——工作凭证离开您的机器的那一刻

生产 API 响应 401,最快的调试步骤是将其承载 JWT 粘贴到 Web 解码器中。那时,您可以将工作凭证交给与您的应用程序无关的服务器。显示可读声明的结果面板不会告诉您操作员保留、记录或转发的内容。在将方便的解码器视为中性格式化程序之前,停止并确定令牌是否处于活动状态。

持有者意味着拥有就是权威——为什么令牌更接近密码而不是 ID

持有凭证根据发行服务的规则向拥有该凭证的任何人授予权限,直至其过期或被撤销。它的签名可以向拥有正确密钥的验证者证明其真实性;它不会使令牌安全地泄露。一些令牌提供只读访问权限,其他令牌则授权写入或特权帐户操作。即使您信任其中显示的声明,发送完整的紧凑字符串也会向收件人提供签名字节和所有三个编码段。

服务器端工具可以看到什么 - 完整的令牌、其中的声明以及原则上在其有效时重放它的能力

服务器端解码器可以接收其请求中的整个字符串,查看帐户并声明其名称,并原则上在其有效时针对服务重播它。运营商是否真的这样做是一个单独的问题,你无法仅用一句令人愉快的“我们不存储代币”的句子来回答。日志、跟踪、浏览器扩展和中间服务可能会创建额外的副本。通过 HTTPS 的裸 POST 会对行程进行加密;它不会消除目的地在到达后对明文的访问。

有效负载中的内容 — 用户标识符、电子邮件地址、角色和范围,即使没有重放,这些也是个人数据

JWT 有效负载是 Base64url 编码的,而不是加密的。即使令牌已过期并且无法再授予访问权限,它也可能包含主题标识符、电子邮件、角色、范围或租户 ID。这些字段可以是个人或商业敏感字段,与签名无关。算法标签和过期声明只是令牌内的数据,直到可信验证者对其进行检查; ToolAcre 的解码器故意不验证签名。不要将其输出用作权限决策。

更安全的调试习惯——客户端解码、过期或测试令牌,以及在任何暴露后撤销或轮换

更喜欢离线调试器或您为实际生产材料控制的本地脚本。演示公共网络解码器时,使用过期、轮换或显式合成的令牌。如果工作令牌被粘贴到不受信任的页面中,请轮换或撤销它,而不仅仅是清除浏览器历史记录。客户端解码是对上传值的改进,但它并不自动安全:页面脚本和扩展程序可能会读取 DOM 输入,并且 ToolAcre 的生产开发人员页面会加载第三方 AdSense 网站连接、GA4 和跟踪代码管理器脚本,即使广告投放已禁用并且 ToolAcre 分析事件需要同意。请勿将实时访问令牌粘贴到任何网站,包括 ToolAcre。

工作示例 - 一个调试会话,在不离开浏览器的情况下检查令牌,并在网络面板中进行验证

在开发环境中创建无害的测试 JWT,使其无效,然后在打开的浏览器网络面板中检查该副本。 ToolAcre 在页面代码中对其进行拆分和解码,而无需 ToolAcre 上传请求携带其字节;您可以在会话期间检查这些请求。您可能仍然会看到网站资产和公开的第三方脚本流量,因此空的“网络”面板不是声明。将显示的标头和有效负载与您可信的测试数据进行比较,并在解释任何声明之前注意明确的“签名未验证”警告。

这不包括通过日志和 URL 泄漏的令牌,它们是单独的泄漏路径

本文不解决泄漏到应用程序日志、URL 查询字符串、屏幕共享或浏览器扩展中的令牌的问题。本地解码也不会阻止已有权访问您页面的恶意脚本读取其文本字段。在发行服务中使用短生命周期、最小特权范围和安全日志控制;解码器无法将这些属性改装到不安全生成的凭证上。

要点:在本地检查或根本不检查 - ToolAcre JWT 解码器在浏览器中运行,不存储任何内容并且从不验证,因此它既不需要也不发送您的令牌

本地检查或使用一次性数据进行检查。 ToolAcre JWT 解码器读取并解析浏览器中粘贴的令牌,但不会对其进行验证,因此它可以帮助诊断格式,而无需授予其权限。由于这仍然是一个包含其他可执行代码的网页,因此请选择离线工具来获取实时凭证;粘贴到在线解码器中的最安全的生产令牌是没有。