JWT 签名器

使用 HMAC 密钥或 PEM/JWK 私钥在本地签名 JWT,用于 API 测试和身份验证调试

载荷和标头

编辑将签名到令牌中的 JSON 声明和可选的受保护标头字段

注册声明辅助工具

使用这些控件更新载荷 JSON 中常见的 NumericDate 声明

手动输入可设置固定的 exp。快捷偏移以签名时的 iat 为基准,在签名时确定最终值

载荷值: 未设置签名时使用的值: 未设置

用于补充 JWT 受保护标头字段,例如 kid。所选算法始终会覆盖 alg

签名密钥

选择算法,提供匹配的密钥或私钥,然后生成紧凑格式 JWT

算法

HMAC 算法使用共享密钥

密钥格式

用于 HS256、HS384 和 HS512。密钥不会保存到本地存储

仅本地签名

签名会通过 Web Crypto 在此浏览器中完成。请勿在共享或不受信任的设备上粘贴生产私钥

已签名令牌

复制紧凑格式 JWT,或检查确切的标头、载荷和签名片段

尚未生成已签名令牌

添加有效的 JSON 载荷和签名密钥,然后签名以创建紧凑格式 JWT

什么是 JWT 签名器?

JWT 签名器会通过序列化标头和载荷,并使用密钥或私钥对其签名,创建一个紧凑的 JSON Web Token。结果是许多 API、OAuth 和会话系统使用的三段式 header.payload.signature 令牌

何时使用此工具

  • 为 API 开发、预发布环境和演示创建本地测试令牌
  • 比较不同算法如何改变令牌标头和签名
  • 无需编写一次性脚本,即可添加 sub、iss、aud、exp、iat、scope 等声明,或自定义应用字段
  • 使用 HMAC 共享密钥,或使用 PKCS#8 PEM 或 JWK 格式的 RSA/ECDSA 私钥生成令牌

使用已签名令牌前需要检查什么

  • 让算法与密钥类型匹配:HS* 使用共享密钥,RS* 和 PS* 使用 RSA 私钥,ES* 使用 EC 私钥
  • 当接收服务需要时,添加过期时间和受众声明
  • 不要在共享浏览器和机器中使用生产私钥。此工具在本地运行,但无法保护密钥免受已被攻陷设备的影响
  • 请记住,签名不是加密。任何收到令牌的人都可以解码标头和载荷

使用方法

使用 HMAC 密钥或 PEM/JWK 私钥在本地签名 JWT,用于 API 测试和身份验证调试