如何利用jwt解決跨域認(rèn)證 shiro和jwt區(qū)別?
shiro和jwt區(qū)別?Shiro是一套權(quán)限管理框架,包括身份驗(yàn)證和授權(quán)。在使用它時(shí),可以直接編寫相應(yīng)的接口,底層的處理已經(jīng)被編寫。JWT只是一種生成令牌的機(jī)制,所有的權(quán)限處理邏輯都需要自己編寫隨著技
shiro和jwt區(qū)別?
Shiro是一套權(quán)限管理框架,包括身份驗(yàn)證和授權(quán)。在使用它時(shí),可以直接編寫相應(yīng)的接口,底層的處理已經(jīng)被編寫。JWT只是一種生成令牌的機(jī)制,所有的權(quán)限處理邏輯都需要自己編寫
隨著技術(shù)的發(fā)展和分布式web應(yīng)用的普及,使用會(huì)話來(lái)管理用戶登錄狀態(tài)的開(kāi)銷隨著JWT的發(fā)展,驗(yàn)證方法更加簡(jiǎn)單方便。直接根據(jù)令牌獲取保存的用戶信息,驗(yàn)證令牌的可用性,而不是通過(guò)redis緩存。單點(diǎn)登錄更容易。
JWT通常包含兩個(gè)令牌:訪問(wèn)令牌和刷新令牌。當(dāng)用戶通過(guò)登錄等方式成功驗(yàn)證身份時(shí),服務(wù)器會(huì)生成一個(gè)訪問(wèn)令牌和一個(gè)刷新令牌,并返回前端存儲(chǔ)。兩個(gè)令牌的過(guò)期時(shí)間都將在服務(wù)器上設(shè)置,但訪問(wèn)令牌的過(guò)期時(shí)間較短,而刷新令牌的過(guò)期時(shí)間較長(zhǎng)。當(dāng)當(dāng)前端向服務(wù)器發(fā)送請(qǐng)求時(shí),訪問(wèn)令牌將與請(qǐng)求一起發(fā)送到服務(wù)器,以驗(yàn)證請(qǐng)求者的身份。當(dāng)服務(wù)器發(fā)現(xiàn)訪問(wèn)令牌已過(guò)期時(shí),它將返回失敗信息。此時(shí),前端需要使用refresh token從服務(wù)器申請(qǐng)新的訪問(wèn)令牌。如果刷新令牌沒(méi)有問(wèn)題,服務(wù)器將生成一個(gè)新的訪問(wèn)令牌。如果刷新令牌已過(guò)期,則需要要求用戶再次登錄以驗(yàn)證其身份。
總之,JWT擴(kuò)展是通過(guò)使用過(guò)期時(shí)間較長(zhǎng)的刷新令牌重新申請(qǐng)新的訪問(wèn)令牌來(lái)實(shí)現(xiàn)的。當(dāng)刷新令牌也已過(guò)期時(shí),不可能延長(zhǎng)時(shí)間。