JWT下token過期的處理策略

策略1

最簡單最直接的方式

用戶再次輸入他們的登錄憑證,如用戶名和密碼,得到一個新的token

策略2

采用單token的方式:

  1. 設置 token 過期時間;

  2. 前端發起請求,后端驗證 token 是否過期(JWT工具類有一個:isTokenExpired函數);如果過期,前端發起刷新token請求(前端捕獲到401錯誤,說明要刷新token),后端為前端返回一個新的token;

  3. 前端用新的token發起請求,請求成功;

策略3

采用雙token方式

  1. 登錄成功以后,后端返回 access_tokenrefresh_token,前端緩存此兩種token;

  2. 使用 access_token 請求接口資源,成功則調用成功;如果token超時(返回前端錯誤代碼),前端攜帶 refresh_token 調用token刷新接口獲取新的 access_token;

  3. 后端接受刷新token的請求后,檢查 refresh_token 是否過期。如果過期,拒絕刷新,前端收到該狀態后,跳轉到登錄頁;如果未過期,生成新的 access_token 返回給客戶端。

  4. 客戶端攜帶新的 access_token 重新調用上面的資源接口。

  5. 前端退出登錄或修改密碼后,注銷舊的token,清空 access_tokenrefresh_token

參考1

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/18727.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/18727.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/18727.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

面試專區|【DevOps-46道DevOps高頻題整理(附答案背誦版)】

簡述什么是 DevOps工作流程 ? DevOps工作流程是一種將開發和運維團隊緊密結合起來的方法,旨在實現軟件開發和交付的高效性和可靠性。它強調自動化和持續集成,以便頻繁地進行軟件交付和部署。 DevOps工作流程通常包括以下階段: …

【最優化方法】實驗三 無約束最優化方法的MATLAB實現

實驗的目的和要求:通過本次實驗使學生進一步熟悉掌握使用MATLAB軟件,并能利用該軟件進行無約束最優化方法的計算。 實驗內容: 1、最速下降法的MATLAB實現 2、牛頓法的MATLAB實現 3、共軛梯度法的MATLAB…

請簡述vue2和vue3的區別

Vue2和Vue3作為Vue.js框架的兩個主要版本,在多個方面存在顯著的差異。以下是它們之間主要區別的詳細概述: 生命周期函數鉤子: Vue2:包含了一系列的生命周期鉤子函數,如beforeCreate、created、beforeMount等&#xff0…

/lib、/lib64和/usr/local/lib的區別

在Linux系統中,/lib、/lib64 和 /usr/local/lib 這幾個目錄都用于存放庫文件(即共享庫或動態鏈接庫),但它們在用途和管理上有一些區別。 /lib 這個目錄通常包含了系統啟動和運行所必需的共享庫。這些庫通常是核心系統組件和關鍵工…

計量和測量的區別有哪些?兩者的關系是什么樣的?

計量和測量在行業內經常被混用,更不用說外行人對計量和測量的定義不夠清晰,無論是看字面還是定義,似乎兩者沒有什么太大的區別,但實際上,兩者還是有區別的,不過又存在千絲萬縷的聯系,那么計量和…

【數據結構】冒泡排序、直接插入排序、希爾排序詳解!

文章目錄 1. 冒泡排序🍎2. 直接插入排序🍎3. 希爾排序(縮小增量排序)🍎 1. 冒泡排序🍎 🐧 基本思想: 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。 大的數據…

在編程中百分號表示什么:深度解析其多重角色與應用

在編程中百分號表示什么:深度解析其多重角色與應用 在編程的廣闊領域中,百分號(%)這一看似簡單的符號,實則承載著多重含義與功能。它既是數學運算的得力助手,又是字符串格式化的關鍵工具,甚至在…

Midjourney繪畫關鍵詞參數匯總(一)

在數字藝術和創意設計領域,參數化繪畫技術正日益受到關注。Midjourney作為一家領先的藝術技術公司,推出了一系列繪畫關鍵詞參數,為藝術家和設計師們提供了全新的創作工具。本文將介紹Midjourney繪畫關鍵詞參數的匯總,探索其在數字…

適合能源企業的文檔安全外發系統應該是什么樣的?

能源企業是市場經濟中的重要組成,也是社會可持續長遠發展的關鍵組成之一,能源行業在開拓新能源業務線、提升產能的日常經營中,也需要與外部合作伙伴、客戶間進行密切的業務往來,文檔可能涉及多個領域多個類型。 能源供應合同&…

Vue3 之 動態組件和KeepAlive組件

一、動態組件 1、簡介 ? 在某些業務場景下,頁面的某模塊具有多個組件但在同一時間只顯示一個,需要在多個組件之間進行頻繁的切換,如:tab切換等場景。除了可以使用v-if、v-show根據不同條件顯示不同組件之外,還可以通…

深入理解模型驅動測試:優點、挑戰與應用場景

本文翻譯自:Understanding Model-Based Testing: Benefits, Challenges, and Use Cases 原文作者:Qt Group質量保證市場營銷主管Sebastian Polzin 審校:Jinjing Li 對于那些尋求系統化和條理化測試方法的測試工程師而言,模型驅動…

ROS2 Topics和Services

本文主要介紹ROS的Topics概念,如何創建Publisher和Subscriber,通過Topic在ROS程序間通信;介紹ROS的Services概念,如何創建Client和Server并建立通信。 更多內容,訪問專欄目錄獲取實時更新。 ROS Topics Topics可以被視…

做電商,錯過了2020年的抖音!那2024一定要選擇視頻號小店!

哈嘍~我是電商月月 電商老板們集合了,問大家一個問題: 如果能讓你回到三四年前,抖音才步入大眾視野,這時候讓你去做抖音小店,你愿意嗎? 我敢相信!很多,錯過當年抖音紅利的商家,一…

計算機三級 網絡技術

一、邊界網關協議BGP BGP是邊界網關協議,是外部而不是內部網關協議(是不同自治系統的路由器之間使用的協議)一個BGP發言人使用TCP(不是UDP)與其自治系統的BGP發言人交換路由信息。BGP協議交換路由由信息的節點數是以自…

Docker HTTPS api V2 Manifest V 2, Schema 2 下的免裝docker下載鏡像的方法

目錄 前言 下載鏡像代碼 使用方法 原代碼中無法適配 Schema 2 的原因淺析 如何解決 相對原代碼改動的東西 前言 本文提供代碼主要是基于 https://github.com/NotGlop/docker-drag 提供的代碼修改的。鏈接中提供的代碼應該是是基于HTTPS api V2 Manifest V 2, Schema 1實…

面試必備:應對 “為什么離職” 的萬能回答

使用PC端的朋友,請將頁面縮小到最小比例,閱讀最佳! 面試官問到你為什么從上一家公司離職時,你會怎么回答?這個問題我覺得很有意思,也很有必要去探討一下。 很多專業人士都會建議你,最好不要直接…

C++---迭代器介紹

迭代器的介紹 使用迭代器需要引用頭文件,但一般的容器都引用了這個頭文件。 這五種迭代器的聲明如下: struct output_iterator_tag { };//輸出迭代器 struct input_iterator_tag{ };//輸入迭代器 struct forward_iterator_tag : public input_iterator_tag {};//向前迭代器 …

基于序列深度學習模型的向量海岸線形狀分類方法 2024.05

本文中提出了一個數據驅動的方法來分類的形狀矢量海岸線,該方法利用基于序列的深度學習算法對海岸線矢量分段進行建模和分類。具體而言,首先將復雜的海岸線劃分為一系列彎曲,并進一步提出了一組不同的特征來描述每個彎曲的形態特征。然后&…

強化學習——學習筆記2

在上一篇文章中對強化學習進行了基本的概述,在此篇文章中將繼續深入強化學習的相關知識。 一、什么是DP、MC、TD? 動態規劃法(DP):動態規劃法離不開一個關鍵詞,拆分 ,就是把求解的問題分解成若…

【JavaScript腳本宇宙】點燃你的Web開發:數據綁定和MV*框架

逐一剖析:JavaScript框架和庫的概述、特點與應用 前言 在當今技術日新月異的時代,JavaScript庫和框架已成為前端開發的重要工具。這篇文章將詳細介紹六種不同的JavaScript庫和框架,幫助讀者了解他們的主要特性、使用示例和適用場景。 歡迎訂…