JWT 基本概念:是什麼與常見用途

JWT(JSON Web Token)是一種常見的權杖格式,用於在各方之間安全地傳遞資訊。許多網站的登入狀態、API 授權都會用到它。

JWT 的結構

一個 JWT 通常由三部分組成,用點分隔:Header.Payload.Signature。

因為 Payload 只是編碼而非加密,不應把密碼、私人密鑰或其他高度敏感資訊放在裡面。

常見用途

使用者登入後,伺服器發出一個 JWT。之後的請求帶上這個權杖,伺服器驗證簽名與過期時間,就可以知道請求來自已登入的使用者,而不需要每次都查資料庫。這在無狀態 API 與微服務架構中很常見。

權杖通常有過期時間。過期後需要重新登入或使用重新整理權杖取得新的 JWT。

安全注意事項

重要:JWT 的 Payload 可以被任何人解碼。不要假設裡面的內容是保密的。簽名只能防止篡改,不能防止閱讀。敏感資料應放在伺服器端,或使用加密機制。

其他注意:使用足夠強的簽名演算法與密鑰、設定合理的過期時間、在 HTTPS 下傳輸、考慮權杖撤銷機制(JWT 本身通常是無狀態的,撤銷需要額外設計)。

解碼工具的用途

JWT 解碼工具可以把權杖的 Header 與 Payload 顯示成可讀的 JSON,方便開發時除錯或檢查內容。它不驗證簽名(驗證需要密鑰),只做解碼。適合學習結構或檢查自己發出的權杖裡有什麼資料。

Wusper 的 JWT 工具在本地解碼,權杖內容不會上傳。請不要把包含真實敏感資訊的權杖貼到任何不信任的地方。工具僅供教育與除錯參考。