公開金鑰 JWT 驗證

JWKS Validator

使用信任的 JSON Web Key Set 驗證 JWT。讀取 kid、選擇相容 JWK,並在瀏覽器驗證公開金鑰簽章。

alg
kid
iss

簽章驗證在瀏覽器執行。遠端載入只會請求你輸入的 JWKS URL;JWT 不會傳送到該 endpoint 或驗證 API。

此工具不會自動追蹤權杖中的 jku 或 x5u。JWKS 來源應視為信任設定,而不是由未驗證權杖決定。

使用 JWKS 驗證 JWT 的流程

先讀取 header 的 alg 與 kid,再使用已經信任、屬於預期 issuer 的 JWKS。不要讓尚未驗證的 JWT 自己決定金鑰來源。

RFC 7517 的 JWK Set 包含 keys 陣列,而 kid 常用於 key rotation 時選擇金鑰。kid 符合仍不代表一切正確,還要確認 alg、key use 與 issuer trust。

1. 讀取 alg + kid

查看未驗證 header,但不把它當作信任設定。

2. 選擇信任 JWK

依 kid,並在可用時檢查 kty、alg、use、key_ops。

3. 驗證簽章 + claims

簽章通過後再檢查 exp/nbf 以及需要的 issuer/audience。

支援演算法

支援 RS256/384/512、PS256/384/512、ES256/384/512,使用瀏覽器 Web Crypto API。公開 JWKS 不應暴露共享 HMAC secret,因此不支援 HS 系列。

為什麼不自動追蹤 jku 或 x5u

直接跟隨權杖控制的 URL 可能造成 SSRF 與信任邊界問題。此工具只載入你明確輸入的 JWKS URL。