開發者 / 權杖
JWT編碼器與產生器
從JSON載荷建立並簽署JSON Web Token,可使用HS256/384/512、RS256/384/512、PS256/384/512或ES256/384,並快速加入iat和exp宣告,用於測試API。
JWT編碼器與產生器: JWT由三個以句點連接的Base64url部分組成:標示演算法的標頭、包含宣告的載荷,以及針對前兩部分產生的簽章。HMAC演算法使用共用密鑰簽署;RSA和ECDSA則使用私密金鑰簽署,讓持有公開金鑰的任何人都能驗證。簽署會使用瀏覽器的Web Crypto API;ECDSA簽章會寫成JWS要求的64或96位元組r‖s值。 全程在瀏覽器中於本機執行,檔案不會上傳至伺服器。
- 分類
- 開發者工具
- 使用次數
- 在瀏覽器中
- 費用
- 免費・免註冊
- 可用狀態
- 可立即使用
全程在瀏覽器中執行
token會在瀏覽器中使用Web Crypto簽署。請使用測試金鑰:貼到任何網頁中的金鑰都應視為已暴露。
標準宣告
iss 表示簽發權杖者,sub 表示權杖所關聯的對象,aud 表示權杖的預定接收者,exp 表示到期時間,nbf 表示開始生效的時間,iat 表示簽發時間,jti 則是唯一 ID;時間是自 1970 年 1 月 1 日起算的秒數。請讓存取權杖維持短效,期限從幾分鐘到一小時不等,並在每次請求時檢查 exp 和 aud。
none 演算法
有些程式庫過去會接受 alg none 且沒有簽章的權杖;伺服器必須始終決定接受哪些演算法,絕不能信任權杖自己的標頭。因此,本工具只提供已簽章的演算法。
使用方式
- 選擇演算法;如果伺服器需要金鑰ID,也請一併加入。
- 編輯JSON載荷;按一下即可設定iat或到期時間。
- 輸入共用密鑰,或貼上PKCS #8 PEM格式的測試私密金鑰,然後複製Token。
隱私與限制
載荷和金鑰會留在瀏覽器中。請只使用測試金鑰。
相關工具
常見問題
JWT有加密嗎?
沒有:任何人都能解碼Base64url來讀取已簽署JWT的載荷。簽章只能證明產生者以及內容未遭變更;請勿將機密放入載荷。
我應該使用哪種演算法?
如果由同一個服務建立並檢查Token,請使用HS256;如果由其他服務使用公開金鑰驗證,請使用RS256或ES256。ES256產生的Token較短。
我的金鑰開頭是BEGIN RSA PRIVATE KEY,該怎麼辦?
這是PKCS #1格式;請使用openssl pkcs8 -topk8 -nocrypt -in key.pem進行轉換,輸出的BEGIN PRIVATE KEY格式即可供瀏覽器接受。
免費工具・使用在瀏覽器中次・免註冊