請求時token過期自動重新整理token

2022-09-18 14:06:12 字數 1387 閱讀 2114

1.在開發過程中,我們都會接觸到token,token的作用是什麼呢?主要的作用就是為了安全,使用者登陸時,伺服器會隨機生成乙個有時效性的token,使用者的每一次請求都需要攜帶上token,證明其請求的合法性,伺服器會驗證token,只有通過驗證才會返回請求結果。

3.下面進入主題,我們請求用的是axios,不管用何種請求方式,重新整理token的原理都是一樣的。

//封裝了乙個統一的請求函式,這個不是重點

export default function request(url, options) `,

},withcredentials: true,

url: url,

baseurl: base_url,

};const newoptions = ;

return axios.request(newoptions)

.then(checkstatus)

.catch(error => console.log(error));

}

// 封裝了乙個檢測返回結果的函式,與後台返回狀態碼code === 1002表示token失效

let isrefreshing = true;

function checkstatus(response)

isrefreshing = false;

// 這個promise函式很關鍵

const retryoriginalrequest = new promise((resolve) => )

});return retryoriginalrequest;

}else

}

// 重新整理token的請求函式

function refreshtokenrequst()

axios.request().then((response)=>);

}

// promise函式集合

let subscribers = ;

function onaccesstokenfetched() )

subscribers = ;

}function addsubscriber(callback)

總結:其實token失效,自動重新整理token,在頁面只有乙個請求的時候是比較好處理的,但是如果頁面同時有多個請求,並且都會產生token失效,這就需要一些稍微複雜的處理,解決方式主要是用了promise 函式來進行處理。每乙個token失效的請求都會存到乙個promise函式集合裡面,當重新整理token的函式執行完畢後,才會批量執行這些promise函式,返回請求結果。還有一點要注意一下,這兒設定乙個重新整理token的開關isrefreshing,這個是非常有必要的,防止重複請求。

請求時token過期自動重新整理token

1.在開發過程中,我們都會接觸到token,token的作用是什麼呢?主要的作用就是為了安全,使用者登陸時,伺服器會隨機生成乙個有時效性的token,使用者的每一次請求都需要攜帶上token,證明其請求的合法性,伺服器會驗證token,只有通過驗證才會返回請求結果。3.下面進入主題,我們請求用的是a...

token過期自動跳轉到登入頁面

這幾天專案提測,測試給我提了個bug,說token過期,路由應該自動跳轉到登陸頁面,讓使用者重新登入。先說下一些前置條件,1 我公司的token時效在生產環境設定為乙個小時,當token過期,所有介面都直接返回 2 每次路由跳轉都會對token進行判斷,設定了乙個全域性的beforeeach鉤子函式...

vue 發出請求時帶token

目前我用的介面都是前期不需要token。所以我先把token寫死 1 首先安裝axios npm install axios2 在main.js中引入axios import axios from axios vue.prototype.axios axios3 在main,js中引入token 加...