JWT包含三部分數據:
- Header:頭部,通常頭部有兩部分內容:
- 聲明類型,這裏是JWT
- 簽名算法,自定義
我們會對頭部進行base64加密(可解密),得到第一部分數據
- Payload:載荷,就是有效數據,一般包含下面信息:
- 用戶身份信息(注意,這裏因爲採用base64加密,可解密,因此不要存放敏感信息)
- tokenID:當前這個JWT的唯一標示
- 註冊聲明:如token的簽發時間,過期時間,簽發人等
這部分也會採用base64加密,得到第二部分數據
- Signature:簽名,是整個數據的認證信息。一般根據前兩步的數據,再加上服務的的密鑰(secret)(不要泄漏,最好週期性更換),通過加密算法生成。用於驗證整個數據完整和可靠性