vue的token登錄鑒權(quán) Jwt的token如何像session一樣去延長(zhǎng)時(shí)間?
Jwt的token如何像session一樣去延長(zhǎng)時(shí)間?隨著技術(shù)的發(fā)展和分布式web應(yīng)用的普及,通過(guò)會(huì)話管理用戶(hù)登錄狀態(tài)的成本越來(lái)越高。因此,它逐漸發(fā)展成為一種令牌方式來(lái)進(jìn)行登錄身份驗(yàn)證,然后利用令牌獲
Jwt的token如何像session一樣去延長(zhǎng)時(shí)間?
隨著技術(shù)的發(fā)展和分布式web應(yīng)用的普及,通過(guò)會(huì)話管理用戶(hù)登錄狀態(tài)的成本越來(lái)越高。因此,它逐漸發(fā)展成為一種令牌方式來(lái)進(jìn)行登錄身份驗(yàn)證,然后利用令牌獲取緩存在redis中的用戶(hù)信息。隨著JWT的出現(xiàn),驗(yàn)證方法更加簡(jiǎn)單方便。它不使用redis緩存,而是直接基于令牌取出保存的用戶(hù)信息,驗(yàn)證令牌的可用性,使單點(diǎn)登錄更容易。
JWT通常包含兩個(gè)令牌:訪問(wèn)令牌和刷新令牌。當(dāng)用戶(hù)通過(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ò)期,則需要要求用戶(hù)再次登錄以驗(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í)間。
vue微信怎么登陸不了?
后臺(tái)
Vue前端和后端分別開(kāi)發(fā)微信授權(quán)
場(chǎng)景
app將產(chǎn)品分享給微信朋友圈或微信朋友。用戶(hù)點(diǎn)擊頁(yè)面后,通過(guò)微信授權(quán)登錄,獲取用戶(hù)信息。
問(wèn)題:沒(méi)有固定的H5應(yīng)用程序主頁(yè)。經(jīng)過(guò)授權(quán)后,URL帶參數(shù),很長(zhǎng)
我很無(wú)聊。在開(kāi)發(fā)過(guò)程中,我嘗試了很多方法。踩坑不足以形容我的心情??梢哉f(shuō),每一次都是一次潛水經(jīng)歷。
1. 一開(kāi)始,前端請(qǐng)求微信連接,返回代碼,然后作為代碼到后端接口獲取令牌。后來(lái),我看到別人的博客說(shuō)這種方法不好。最好直接請(qǐng)求后端接口,然后后端返回URL跳轉(zhuǎn),所以采用最傳統(tǒng)的方法,即后端返回URL,前端跳轉(zhuǎn)。
Vue利用路由鉤子token過(guò)期后跳轉(zhuǎn)到登錄頁(yè)的實(shí)例?
胡說(shuō)。每次判斷用戶(hù)沒(méi)有令牌時(shí),跳轉(zhuǎn)到“/登錄”,但添加if(到.path==“sign-in”)返回wheretogo(),此方法跳轉(zhuǎn)到“sign-in”,這是一個(gè)死循環(huán)。路線總是跳轉(zhuǎn)到“登錄”,但是全局守衛(wèi)判斷它跳轉(zhuǎn)到這一點(diǎn),然后再次跳轉(zhuǎn)。
總之,這是堆棧溢出。遞歸是無(wú)限循環(huán)。