Decode & Verify JSON Web Tokens
JWT.app 是最受信賴的線上工具,用於解碼、驗證和產生 JSON Web Token。全球開發者使用它來除錯和理解應用程式中的 JWT 認證。
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
瞭解 JSON Web Token
JSON Web Token 是一種開放的產業標準 RFC 7519 方法,用於在雙方之間安全地表示聲明。JWT.app 允許您解碼、驗證和產生 JWT。
標頭
包含有關權杖類型和用於保護其內容的加密演算法的中繼資料。
{
"alg": "HS256",
"typ": "JWT"
}
酬載
包含一組聲明。聲明是關於實體(通常是使用者)和額外資料的陳述。
{
"sub": "1234567890",
"name": "John Doe",
"admin": true
}
簽章
安全地驗證權杖。簽章是透過使用 Base64url 編碼標頭和酬載來計算的。
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret)
JWT 認證如何運作
瞭解 JWT 認證流程對於在現代應用程式中實現安全認證至關重要。
使用者認證
使用者向認證伺服器提供憑證,伺服器根據使用者資料庫驗證它們。
權杖產生
伺服器建立包含使用者資訊的 JWT,並使用密鑰或私鑰對其進行簽章。
權杖儲存
客戶端接收並安全地儲存 JWT,通常在記憶體、localStorage 或作為 HTTP-only cookie。
已認證請求
客戶端在後續請求的 Authorization 標頭中包含 JWT,伺服器驗證並處理它們。
何處使用 JSON Web Token
JWT 功能多樣,可用於各種認證和資訊交換場景。
API 認證
使用無狀態 JWT 認證保護您的 RESTful API 和 GraphQL 端點,以獲得更好的可擴充性。
行動應用程式
非常適合傳統工作階段管理不切實際的原生 iOS 和 Android 應用程式。
微服務
在分散式架構中實現安全的服務對服務通訊,無需集中式工作階段。
單一登入
使用 JWT 在多個網域和應用程式中實現 SSO,提供無縫的使用者體驗。
常見問題
什麼是 JWT?
JSON Web Token (JWT) 是一個開放標準 (RFC 7519),它定義了一種緊湊且自包含的方式,用於在各方之間以 JSON 物件安全地傳輸資訊。由於經過數位簽章,這些資訊可以被驗證和信任。
JWT 的結構是什麼?
JWT 由三部分組成,用點分隔:標頭、酬載和簽章。標頭通常包含權杖類型和簽章演算法。酬載包含聲明或 JWT 的資料。簽章用於驗證 JWT 的寄送者是否為其聲稱的身分。
什麼時候應該使用 JWT?
JWT 通常用於授權和資訊交換。它們非常適合單一登入 (SSO)、API 認證和各方之間的安全資料傳輸。
JWT 安全嗎?
正確實作時,JWT 可以是安全的。它們應該透過 HTTPS 傳輸,使用強簽章演算法,具有短過期時間,敏感資料應該加密或保留在酬載之外。
JWT vs. 工作階段 cookie?
JWT 是無狀態的,可以包含使用者資料,使其適合分散式系統。工作階段 cookie 需要伺服器端儲存,但可以立即撤銷。選擇取決於您對安全性、可擴充性和功能的具體要求。
如何撤銷 JWT?
按照設計,JWT 在過期之前無法撤銷。常見的解決方案包括維護權杖黑名單、使用短過期時間配合重新整理權杖,或在使用者資料庫中實現權杖版本控制。
JWT 的最大大小是多少?
雖然 JWT 沒有官方大小限制,但存在實際限制。大多數網頁伺服器將標頭大小限制為 4-8KB。透過最小化聲明和使用高效的簽章演算法,將您的 JWT 保持在 4KB 以下。
我應該使用哪種簽章演算法?
對於對稱加密,使用 HS256。對於非對稱,RS256 提供廣泛的相容性,而 ES256 提供更好的效能。在 2025 年,由於其安全性和效能優勢,建議新應用程式使用 EdDSA。