你的數據是 100% 私密的 —— JWT 完全在你的設備上進行解碼和編碼。
關於 JWT 的所有信息以及在不同框架中驗證 JWT 的逐步指南。
JWT(JSON Web Token)是一種自我包含的無狀態令牌,以結構化且可讀的格式攜帶信息。無論你是在保護 API 還是採用應用程序的基於令牌的身份驗證,JWT 都是一個強大的工具,因為它們:
一個典型的 JWT 被分為三部分,每部分用 Base64URL 編碼並由句號(.)分隔:
此結構使 JWT 能夠在各方之間提供一種緊湊且安全的信息傳輸方式。
聲明是有效載荷的一部分,並持有關鍵信息。以下是你的參考標準化註冊聲明:
聲明 | 全名 | 描述 |
---|---|---|
iss | 發行者 | 發行 JWT 的實體,如授權服務器。 |
sub | 主體 | 標識 JWT 的主體,通常代表經過身份驗證的用戶。 |
aud | 觀眾 | 指明哪些接收者可以接受和處理這個令牌。這可以是多個觀眾的值數組或單個接收者的單一值。 |
exp | 過期時間 | 設置令牌過期時間,之後它就會失效。這有助於通過限制令牌的有效期來防止重播攻擊。 |
nbf | 在此之前無效 | 使令牌僅在此時間戳之後有效。對於沒有可用時鐘的情況非常有用。 |
iat | 簽發時間 | 令牌創建的時間。這可以用來確定令牌的年齡。 |
jti | JWT ID | 令牌的唯一識別符,用於防止同一令牌被多次使用(例如,在重播攻擊中)。 |
根據授權服務器的規範和配置,有可能在有效載荷中包含其他聲明以支持特定的用例。你還可以向 JWT 添加自定義聲明以滿足獨特的業 務需求。
在 OpenID Connect 中使用,其中包含用戶的配置文件信息(例如,姓名、電子郵件等)的聲明。
在 OAuth 2.0 中使用,該令牌允許應用程序代表用戶訪問特定資源或 API。
在以下情況下,JWT 可能特別有用:
必須驗證 JWT 的完整性以確保其標頭和有效載荷未被篡改。以下是流行編程環境中驗證 JWT 的逐步示例:
關於 JWT 的所有信息以及在不同框架中驗證 JWT 的逐步指南。