狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

實現無感刷新Token技術:.Net Web API與axios的完美結合

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

我們都知道Token是有設置有效期的,為了安全都不會設置過長的有效期;但設置有效期太短,又會導致經常需要重新登錄。

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

目前比較常用的方案是:雙token機制。
1、登錄時同時返回:Token、RefreshToken,Token用于請求業務接口,RefreshToken用于刷新Token接口;
2、每一次Http請求,客戶端都會判斷服務器返回狀態,如果是401,代表Token過期;
3、客戶端使用RefreshToken,請求服務器Token刷新接口,并獲取新的:Token,RefreshToken;

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

下面我們一起看下實現步驟:

1、后臺登錄接口

登錄驗證,驗證用戶名和密碼,驗證通過返回Token。

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

2、后臺刷新token接口

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

3、前端登錄功能

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

4、錯誤響應攔截器

axios響應攔截器添加如下代碼:
a、判斷Http返回狀態是否為401。
b、判斷是否授權信息是否使用refreshToken,調用刷新token接口,同樣也會發起Http請求,如果refreshToken也過期了,同樣會返回401;所以這邊要加判斷,避免進入死循環。
c、如果refreshToken也過期了,直接跳轉至登錄頁面。

d、如果調用刷新token接口成功返回,更新本地存儲的Token、RefreshToken;并獲取上一次業務請求的內容,并更新驗證信息,重新發起上一次業務請求,這樣才能實現無感刷新。

5、實現效果

最終實現效果如下:
1、請求用戶列表接口,返回401;
2、調用token刷新接口;

3、重新請求用戶列表接口。

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

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



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