jwt:
Json web token (JWT), 是為了在網(wǎng)絡(luò)應(yīng)用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開(kāi)放標(biāo)準(zhǔn)((RFC 7519).該token被設(shè)計(jì)為緊湊且安全的,特別適用于分布式站點(diǎn)的單點(diǎn)登錄(SSO)場(chǎng)景。JWT的聲明一般被用來(lái)在身份提供者和服務(wù)提供者間傳遞被認(rèn)證的用戶身份信息乌昔,以便于從資源服務(wù)器獲取資源逾苫,也可以增加一些額外的其它業(yè)務(wù)邏輯所必須的聲明信息橘蜜,該token也可直接被用于認(rèn)證周荐,也可被加密舱殿。
JWT的構(gòu)成
第一部分我們稱它為頭部(header),第二部分我們稱其為載荷(payload, 類似于飛機(jī)上承載的物品)形用,第三部分是簽證(signature).
header
jwt的頭部承載兩部分信息:
聲明類型就轧,這里是jwt
聲明加密的算法 通常直接使用 HMAC SHA256
載荷就是存放有效信息的地方。這個(gè)名字像是特指飛機(jī)上承載的貨品田度,這些有效信息包含三個(gè)部分
標(biāo)準(zhǔn)中注冊(cè)的聲明
公共的聲明
私有的聲明
signature
jwt的第三部分是一個(gè)簽證信息妒御,這個(gè)簽證信息由三部分組成:
header (base64后的)
payload (base64后的)
secret
jwt應(yīng)用場(chǎng)景:
Authorization (授權(quán)) : 這是使用JWT的最常見(jiàn)場(chǎng)景。一旦用戶登錄镇饺,后續(xù)每個(gè)請(qǐng)求都將包含JWT乎莉,允許用戶訪問(wèn)該令牌允許的路由、服務(wù)和資源奸笤。單點(diǎn)登錄是現(xiàn)在廣泛使用的JWT的一個(gè)特性惋啃,因?yàn)樗拈_(kāi)銷很小,并且可以輕松地跨域使用监右。