json web token 簡介
json web token
簡稱 jwt.他是一種輕量級的規範
.這種規範允許客戶端和服務端之間傳遞一些非敏感信息.- 常用於用戶認證和授權系統.
jwt組成部分
- Header
- Claims
- Signature
Header 組成部分
typ: "JWT",
alg: "HS256",
- typ是默認的一種標識.標識這條信息採用JWT規範.
- alg表示簽名使用的加密算法.通常有ES256,ES512,RS256等等
Claims 組成部分
Audience string `json:"aud,omitempty"`
ExpiresAt int64 `json:"exp,omitempty"`
Id string `json:"jti,omitempty"`
IssuedAt int64 `json:"iat,omitempty"`
Issuer string `json:"iss,omitempty"`
NotBefore int64 `json:"nbf,omitempty"`
Subject string `json:"sub,omitempty"`
這段結構體是我們在golang中使用到的字段. 可以在這個的基礎上進行組合,定義新的Claims部分.
1. aud 標識token的接收者.
2. exp 過期時間.通常與Unix UTC時間做對比過期後token無效
3. jti 是自定義的id號
4. iat 籤