Vue中token刷新及token过期的实现
生活随笔
收集整理的這篇文章主要介紹了
Vue中token刷新及token过期的实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
總:通過axios,vuex,及自定義的方法實現。
以下是思路:
1.做token刷新必不可少的是,token(請求時的token) / refresh_token(刷新token時用的refresh_token) / resetTime(token有效時間)
2.通過axios請求-回復來做相應的操作,具體實現如下:
對應修改之處:(自己看的,如果疑問,可留言)
一、在 main.js中 ,寫入如下代碼
二、在 自定義的jsformat.js中 ,寫入如下代碼
export function getRefreshToken(param) { // 刷新token 注意這里用到的servicelet params = {refreshToken:param}return axios.post(baseUrl+'/account-center/refresh/token',params).then((res) => {return Promise.resolve(res.data)}) }export function isRefreshTokenExpired(timestamp) {clearInterval(window.interval);window.interval = setInterval(()=>{timestamp=timestamp-1sessionStorage.setItem('resetTime',timestamp)},1000) }三、在vuex中的mutation中
changeLogin: function (state, user ) {// CryptoJS.enc.Base64.stringify(obj) 加密// CryptoJS.enc.Base64.parse(base64).toString(CryptoJS.enc.Utf8) 解密state.Authorization = user.token_type + ' ' + user.Authorization;state.refresh_token = user.refresh_token;state.user_message = CryptoJS.enc.Base64.parse(user.Authorization.split('.')[1]).toString(CryptoJS.enc.Utf8);sessionStorage.setItem('Authorization', state.Authorization);sessionStorage.setItem('user_message', state.user_message);sessionStorage.setItem('refresh_token', state.refresh_token);},DelToken(state){state.Authorization = '';sessionStorage.clear();},vue的token刷新處理
總結
以上是生活随笔為你收集整理的Vue中token刷新及token过期的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux:关于头文件的位置
- 下一篇: linux 本地yum 恢复,Linux