首先什麼是JWT?
JWT的全稱是json web token,是在json風格輕量級的授權和身份認證規範,可實現無狀態、分佈式的web應用授權
JWT由三部分組成
- jwtHeader:通常有倆部分組成
- 聲明類型(type),默認爲“jwt”
- 加密類型,自定義
- 載荷數據,指有效數據,一般如下:
- 用戶身份信息(注意,這裏因爲採用base64加密,可解密,因此不要存放敏感信息)
- 註冊聲明:如token的簽發時間,過期時間,簽發人等
- 簽名:是整個數據的認證信息。一般根據前兩步的數據,再加上服務的的密鑰(secret)(不要泄漏,最好週期性更換),通過加密算法生成。用於驗證整個數據完整和可靠性
JWT的Demo
eyJhbGciOiJIUzI1NiJ9 //jwt頭
.eyJqdGkiOiIxIiwic3ViIjoieXFxIiwiaWF0IjoxNTY4Nzc0NzM1LCJwZXJtcyI6IjExMTExIiwiZXhwIjoxNTY4Nzc0NzM1fQ //載荷數據
.cDJ5-L2GAbUSqSCWjqE-NEsXEaYQJr3loADiUCHF0XA //簽名