golang 實現 json web token

json web token 簡介

  1. json web token 簡稱 jwt.他是一種輕量級的規範.這種規範允許客戶端和服務端之間傳遞一些非敏感信息.
  2. 常用於用戶認證和授權系統.

jwt組成部分

  1. Header
  2. Claims
  3. Signature
Header 組成部分
typ: "JWT",
alg: "HS256",
  1. typ是默認的一種標識.標識這條信息採用JWT規範.
  2. 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 籤
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章