JWT(Json Web Token)廣泛應(yīng)用于網(wǎng)站身份驗(yàn)證
它由3部分組成:
- header 頭部信息:包含了過期時(shí)間、簽發(fā)者整份、客戶端等信息
- payload 其他信息:用戶自定義的一些信息
- 加密部分: header和payload兩部分通過加密算法(一般是sha256)取得
一個(gè)token可以這樣表示:
base64(header
).base64(payload
).sha256(base64(header).base64(header)
)
其中base64是一種編碼形式
token里的信息對用戶是完全透明的
對于用戶:token里的信息可以從header和payload解析出來待错,而不需要解密籽孙,甚至可以修改,但是加密部分卻因?yàn)闆]有密鑰而無法修改火俄。
對于服務(wù)器:絕對不能信任header和payload中的信息犯建,因?yàn)檫@些信息用戶完全可以捏造,除非你知道你正在干嘛(Don't use this method unless you know what you're doing)瓜客,否則千萬要使用加密部分的信息适瓦。