Gin框架的Json web token(JWT)
作者:尹正傑
版權聲明:原創作品,謝絕轉載!否則將追究法律責任。
一.Json Web Token(簡稱JWT)概述
Json web token (JWT), 是為了在網絡應用環境間傳遞聲明而執行的一種基於JSON的開放標准((RFC 7519).該token被設計為緊湊且安全的,特別適用於分布式站點的單點登錄(SSO)場景。 JWT的聲明一般被用來在身份提供者和服務提供者間傳遞被認證的用戶身份信息,以便於從資源服務器獲取資源,也可以增加一些額外的其它業務邏輯所必須的聲明信息,該token也可直接被用於認證,也可被加密.
二.JWT組成
header:
承載兩部分信息;聲明類型,這里是jwt;聲明加密的算法 通常直接使用 HMAC SHA256.
playload:
載荷就是存放有效信息的地方;iss: 簽發者 sub: 面向的用戶 aud: 接收方 exp: 過期時間 nbf: 生效時間 iat: 簽發時間 jti: 唯一身份標識.
signature:
是一個簽證信息,這個簽證信息由三部分組成;header (base64后的); payload (base64后的); secret.
三.JWT實現的單點登錄流程
JWT實現的單點登錄流程如下圖所示。