什麼儲存在 JWT 中
JWT RFC 建立了三類索賠:
- 
**註冊的宣告,**如 sub,iss,exp或nbf
- 
**** IANA 註冊的公共名稱或名稱的公開宣告,其中包含的值應該是唯一的,如 email,address或phone_number。檢視完整列表
- 
**** 在你自己的上下文和值中使用的私有宣告可能會發生衝突 
這些索賠都不是強制性的
JWT 是自包含的,應該避免使用提供必要資料的伺服器會話來執行身份驗證(不需要伺服器儲存和資料庫訪問)。因此,role 或 permissions 資訊可以包含在 JWT 的私人索賠中。
註冊索賠
以下宣告名稱在 10.1 節建立的 IANA“JSON Web 令牌宣告”登錄檔中註冊。
- iss(發行人):確定發行 JWT 的委託人。
- sub(主題):確定作為 JWT 主題的主體。必須是獨特的
- aud(觀眾):識別 JWT 的目標收件人(字串陣列/ uri)
- exp(到期時間):標識到期時間(UTC Unix),之後你必須不再接受此令牌。它應該在釋出之後。
- nbf(不是之前):標識不允許接受 JWT 的 UTC Unix 時間
- iat(釋出於):標識釋出 JWT 的 UTC Unix 時間
- jti(JWT ID):為 JWT 提供唯一識別符號。
例
{
    "iss": "stackoverflow",
    "sub": "joe",
    "aud": ["all"],
    "iat": 1300819370,
    "exp": 1300819380,
    "jti": "3F2504E0-4F89-11D3-9A0C-0305E82C3301"
    "context": {
        "user": {
            "key": "joe",
            "displayName": "Joe Smith"
        },
        "roles":["admin","finaluser"]
    }
}