什么是 JWT 生成器?
JWT生成器从头、索赔的有效负载和一个秘密构建JSON Web令牌,然后对其进行签名,以便服务器可以信任内容。JWT具有三个由点连接的base64url段:头命名签名算法,有效负载携带索赔,签名是前两个部分的HMAC。该工具根据您提供的值组装所有三个,并返回一个可以掉入授权头、测试夹具或卷曲命令的令牌。
手动生成令牌的原因是测试和调试。当您构建验证 JWT 的 API 时,您需要带有特定声明的示例令牌:用于确认您的 401 路径的过期令牌、特定用户 ID 的令牌、具有自定义角色或范围的令牌或带有已知秘密签名的令牌,以便您可以验证中间件是否接受。用手写这些意味着 base64url-编码两个 JSON 对象并计算一个 HMAC,这正是工具应该做的那种繁琐、容易出错的工作。在这里,您将声明粘贴为 JSON、选择 HS256、HS384 或 HS512,输入秘密,然后出现签名的令牌。
您可以针对任何验证者检查此在线 JWT 生成器。粘贴{"sub":"123","role":"admin","iat":1700000000},保留 HS256 默认秘密 a-string-secret-at-last-256 位长和 UTF-8(纯文本)编码,取消勾选添加过期 (exp),然后单击生成令牌。有效负载已经携带 iat,因此该工具会单独使用它,并且令牌每次都相同,以。FumKGaSAuIzRc5ZnHmLGYsG5RHGObIpl2awmuMAtJYk 结尾。用作带有您已有的秘密密钥的 JWT 生成器,这是证明双方就密钥字节达成一致的最快方法。
该工具还为您填写两个已注册的时间声明。将 indisted-at (iat) 邮票 iat 添加当前 Unix 时间,除非您的有效负载已经有一个,并将 expiry (exp) 集 exp 添加到当前时间加上 expires in (seconds) 值,替换有效负载中的任何 exp。没有 not-before 控制,因此如果您需要一个,请在有效负载中键入 nbf 时间戳。时间声明是大多数身份验证错误的归结,因此从纪元而不是毫秒开始以秒为单位生成它们可以消除常见的错误源。
Everything 发生在你的浏览器中,有效负载、秘密和签名都通过内置的 Web Crypto API 在 JavaScript 本地运行,因此你的秘密永远不会被传输、记录或存储。这很重要,因为签名秘密是让任何人为你的系统铸造有效令牌的一个值。因为工作是本地工具,一旦页面加载,该工具也会保持离线运行。只有 HMAC 算法是故意提供的:RS256 和 ES256 用私钥签名,将私钥粘贴到网页中是值得避免的习惯。
JWT生成器的使用方法?
输入有效负载声明
JSON 对象键入或粘贴有效负载,例如{"子":"123","角色":"管理"}。按加载样本查看预期形状。您包含的任何声明均按原样保存。
添加时间声明
Leave Add issued-at (iat) 勾选以盖章当前时间,并保持 Add expiry (exp) 勾选以 (秒) 内的值以添加 exp。nbf,请自行将时间戳键入有效负载。
选择算法和秘密
HS256,HS384或HS512,然后输入签名秘密,选择秘密是纯文本,base64url还是十六进制,这样它就会被解码到您的验证者使用的确切字节。
复制签名令牌
签名的 JWT 显示头和有效负载的解码预览。将其复制到剪贴板并在授权头、测试或请求中使用。
主要特点
HMAC 签署 (HS256/384/512)
令牌通过浏览器 Web Crypto API 与真实的 HMAC-SHA-256、384 或 512 签名,因此签名与 jsonwebtoken 或 jose 等服务器库将验证的内容相匹配。
自动时间声明
iat 和 exp 是从当前时间和您设置的到期时间(自历元以来的几秒钟内)计算出来的,这消除了验证错误的代币的最常见原因。
灵活的秘密编码
Secret可以是纯文本,base64url,或者是十六进制,它被解码为验证者期望的精确密钥字节,这在你的secret被存储时很重要base64-encoded。
解码预览
除了令牌之外,您还可以看到标头和有效负载以格式化 JSON 呈现,因此您可以在使用令牌之前确认算法和每个声明。
Frequently Asked Questions
Related Tools
Hash Generator
Generate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes from any text
JWT Decoder
Decode JWT headers and payloads, inspect claims, and check token expiry
CSS Grid Generator
Build CSS Grid layouts visually. Set columns, rows, track sizes, gaps and alignment with a live preview, then copy the generated grid CSS - all in your browser.
UUID Generator
Generate random UUIDs (Universally Unique Identifiers)
Comments
0 comments
No comments yet. Be the first to share your thoughts!