欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

實(shí)現(xiàn)無感刷新Token技術(shù):.Net Web API與axios的完美結(jié)合

admin
2024年2月7日 22:0 本文熱度 570

我們都知道Token是有設(shè)置有效期的,為了安全都不會(huì)設(shè)置過長(zhǎng)的有效期;但設(shè)置有效期太短,又會(huì)導(dǎo)致經(jīng)常需要重新登錄。

這就需要無感刷新Token的方案,來提升用戶體驗(yàn)。

目前比較常用的方案是:雙token機(jī)制。
1、登錄時(shí)同時(shí)返回:Token、RefreshToken,Token用于請(qǐng)求業(yè)務(wù)接口,RefreshToken用于刷新Token接口;
2、每一次Http請(qǐng)求,客戶端都會(huì)判斷服務(wù)器返回狀態(tài),如果是401,代表Token過期;
3、客戶端使用RefreshToken,請(qǐng)求服務(wù)器Token刷新接口,并獲取新的:Token,RefreshToken;

4、如果第3步驟成功返回,更新本地的Token、RefreshToken;如果返回失敗,代表RefreshToken也過期了,提示過期并跳轉(zhuǎn)至登錄頁面。

下面我們一起看下實(shí)現(xiàn)步驟:

1、后臺(tái)登錄接口

登錄驗(yàn)證,驗(yàn)證用戶名和密碼,驗(yàn)證通過返回Token。

登錄接口返回的2個(gè)內(nèi)容:Token和RefreshToken,這兩個(gè)有效期不一樣,比如Token有效期是30分鐘,RefreshToken有效期是60分鐘。

2、后臺(tái)刷新token接口

和登錄接口一樣,也是返回:Token和RefreshToken。

3、前端登錄功能

在前端登錄頁面,成功登錄后,把Token和RefreshToken存儲(chǔ)在本地,可以存儲(chǔ)在Cookie或者LocalStorage。

4、錯(cuò)誤響應(yīng)攔截器

axios響應(yīng)攔截器添加如下代碼:
a、判斷Http返回狀態(tài)是否為401。
b、判斷是否授權(quán)信息是否使用refreshToken,調(diào)用刷新token接口,同樣也會(huì)發(fā)起Http請(qǐng)求,如果refreshToken也過期了,同樣會(huì)返回401;所以這邊要加判斷,避免進(jìn)入死循環(huán)。
c、如果refreshToken也過期了,直接跳轉(zhuǎn)至登錄頁面。

d、如果調(diào)用刷新token接口成功返回,更新本地存儲(chǔ)的Token、RefreshToken;并獲取上一次業(yè)務(wù)請(qǐng)求的內(nèi)容,并更新驗(yàn)證信息,重新發(fā)起上一次業(yè)務(wù)請(qǐng)求,這樣才能實(shí)現(xiàn)無感刷新。

5、實(shí)現(xiàn)效果

最終實(shí)現(xiàn)效果如下:
1、請(qǐng)求用戶列表接口,返回401;
2、調(diào)用token刷新接口;

3、重新請(qǐng)求用戶列表接口。

在這過程中,第一次發(fā)起用戶搜索請(qǐng)求是失敗的,我們馬上刷新token,并重新發(fā)起第二次用戶搜索請(qǐng)求,但對(duì)用戶來說是透明、毫無察覺的。

好了,今天就分享到這了。



該文章在 2024/2/7 22:00:32 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved