詳細(xì)聊聊前端如何實現(xiàn)token無感刷新(refresh_token)
關(guān)于無感刷新的理解:
實現(xiàn)token無感刷新對于前端來說是一項非常常用的技術(shù),其本質(zhì)是為了優(yōu)化用戶體驗,當(dāng)token過期時不需要用戶跳回登錄頁重新登錄,而是當(dāng)token失效時,進(jìn)行攔截,發(fā)送刷新token的ajax,獲取最新的token進(jìn)行覆蓋,讓用戶感受不到token已經(jīng)過期,今天寫了一個簡陋的demo,給大家提供一個參考
下面是關(guān)于使用vuex來實現(xiàn)的寫法
步驟:
1.先搭好axios骨架,以及請求攔截器與響應(yīng)攔截器
2.再封裝好ajax的接口,一個獲取token的,一個需要token發(fā)送ajax的(獲取用戶信息等)
3.創(chuàng)建一個vuex的模塊并注冊,用于處理本次demo的數(shù)據(jù)存儲,發(fā)送ajax等
4.創(chuàng)建好兩個頁面配置好路由,用于模擬登錄以及跳轉(zhuǎn)頁
5.測試, 可直接在localStorage里對存儲的token進(jìn)行修改并刷新頁面
登錄頁

登錄后發(fā)送ajax獲取token信息,并跳轉(zhuǎn)到首頁,獲取用戶信息
跳轉(zhuǎn)頁---首頁

報錯

Vuex中代碼

axios工具函數(shù)(請求攔截器與響應(yīng)攔截器)
---請求攔截器

核心代碼 -- 響應(yīng)攔截器

到此為止,大概的步驟差不多完結(jié)了,下面是直接使用localStorage不使用vuex的寫法
登錄頁

跳轉(zhuǎn)頁

axios工具函數(shù)
--請求攔截器

--響應(yīng)攔截器

寫的比較簡陋,好些都沒寫,比如路由守衛(wèi)等,望見諒 ,大概的核心代碼就這些
總結(jié)
到此這篇關(guān)于前端如何實現(xiàn)token無感刷新(refresh_token)的文章就介紹到這了,更多相關(guān)前端token無感刷新(refresh_token)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue 實時監(jiān)聽窗口變化 windowresize的兩種方法
這篇文章主要介紹了Vue 實時監(jiān)聽窗口變化 windowresize的兩種方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-11-11
Vue3中無法為el-tree-select設(shè)置反選問題解析
這篇文章主要介紹了Vue3中無法為el-tree-select設(shè)置反選問題分析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04

