最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

web項(xiàng)目開發(fā)中2個Token原因解析及示例代碼

 更新時間:2021年09月24日 15:52:50   作者:SpringSir  
這篇文章主要介紹了web項(xiàng)目開發(fā)中會出現(xiàn)2個Token原因的解析以及實(shí)現(xiàn)的示例代碼,有需要的同學(xué)可以借鑒參考下,希望可以有所幫助

在這里插入圖片描述

問題:

項(xiàng)目中2個Token, 一個時效2個小時(簡稱:短Token), 另一個時效14天(簡稱:長Token),
為什么要用2個Token?

解答:

1.基于安全性, 防止Token泄露的考慮, 服務(wù)器資源中所有的請求都只能使用短Token, 并且短Token只有2小時時效;

  •  這個方法依然無法完全解決防止Token泄露的問題, 只是在一定程度上提高防止Token泄露的安全性;
  • 長Token的作用只有一個, 就是短Token時效了的時候, 用長Token去請求獲取新的短Token,

只有這個接口中, 才能用長Token發(fā)請求.

2.為了提高用戶的體驗(yàn), 不至于直接讓用戶退出正在操作的頁面

import Vue from 'vue'
import axios from 'axios'
import VueAxios from 'vue-axios'
import { getToken, setToken } from './token'
import router from '../router/index.js'
import { Toast } from 'vant'
Vue.use(VueAxios, axios)
const instance = axios.create({
  baseURL: '基地址',
  timeout: 100000
})
// 添加請求攔截器
instance.interceptors.request.use(
  function (config) {
    // 統(tǒng)一添加token
    getToken() && (config.headers['Authorization']= `Bearer ${getToken().token}`)
    return config
  },
  function (error) {
    return Promise.reject(error)
  }
)
// 添加響應(yīng)攔截器
/**
 * 1.if 401 else 不管
 * 2.if 有token else 跳轉(zhuǎn)登錄頁
 * 3.try-catch 用 refresh_token 去獲取 token, if 成功 else refresh_token失效了,跳轉(zhuǎn)登錄頁
 * 4.保存獲取的 token, 更新, 繼續(xù)執(zhí)行用戶要的操作
 */
instance.interceptors.response.use(
  function (response) {
    return response
  },
  async function (error) {
    if (401 === error.response.status) {
      setTimeout('console.clear()', 2000)
      if (getToken()) {
        try {
          // 登錄了, 但是短T過期, 用長T獲取短T(刷新用戶token)
          let res = await axios({
            url: '基地址/v1_0/authorizations',
            method: 'PUT',
            headers:{Authorization : `Bearer ${getToken().refresh_token}`}
          })
          // 更新短T
          let token = getToken()
          token.token = res.data.data.token
          setToken(token)
          // 繼續(xù)用戶操作
          return instance(error.config)
        } catch (error) {
          // 長T失效,跳轉(zhuǎn)登錄頁
          Toast.fail('請先登錄')
          router.push({ path: '/login' })
        }
      } else {
        // 未登錄,跳轉(zhuǎn)登錄頁
        Toast.fail('請先登錄')
        router.push({ path: '/login' })
      }
    }
    return Promise.reject(error)
  }
)
export default instance

以上就是web項(xiàng)目開發(fā)中2個Token原因解析及示例代碼的詳細(xì)內(nèi)容,更多關(guān)于web項(xiàng)目開發(fā)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • uniapp?vue與nvue輪播圖之輪播圖組件的示例代碼

    uniapp?vue與nvue輪播圖之輪播圖組件的示例代碼

    這篇文章主要介紹了uniapp?vue與nvue輪播圖輪播圖組件的實(shí)例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • Vue中輸入框僅支持?jǐn)?shù)字輸入的四種方法

    Vue中輸入框僅支持?jǐn)?shù)字輸入的四種方法

    項(xiàng)目中需要用到大量的數(shù)字輸入框限制,為了可以以后能又更多的拓展性,下面這篇文章主要給大家介紹了關(guān)于Vue中輸入框僅支持?jǐn)?shù)字輸入的四種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-08-08
  • vue前端如何接收后端傳過來的帶list集合的數(shù)據(jù)

    vue前端如何接收后端傳過來的帶list集合的數(shù)據(jù)

    這篇文章主要介紹了vue前端如何接收后端傳過來的帶list集合的數(shù)據(jù),前后端交互,文中的示例Json報(bào)文,前端采用vue進(jìn)行接收,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-02-02
  • Vue3使用hooks解決字典數(shù)據(jù)的顯示問題

    Vue3使用hooks解決字典數(shù)據(jù)的顯示問題

    我們在使用 element-plus的時候,經(jīng)常會使用一些字典數(shù)據(jù), 在搜索框的時候,字典數(shù)數(shù)要使用 el-select el-option 來顯示,但是經(jīng)常會遇到字典數(shù)據(jù)的顯示問題,所以本文給大家介紹了Vue3使用hooks解決字典數(shù)據(jù)的顯示問題,需要的朋友可以參考下
    2024-12-12
  • vue.js 獲取select中的value實(shí)例

    vue.js 獲取select中的value實(shí)例

    下面小編就為大家分享一篇vue.js 獲取select中的value實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Vuex存值取值與異步請求處理方式

    Vuex存值取值與異步請求處理方式

    本文將詳細(xì)介紹Vuex的使用方法,包括參數(shù)值的獲取、修改,以及異步數(shù)據(jù)處理,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • vue中的v-slot指令使用

    vue中的v-slot指令使用

    在Vue中, v-slot 指令用于定義插槽的模板內(nèi)容,v-slot 指令可以用于標(biāo)簽或組件標(biāo)簽上,以便在子組件中使用插槽,這篇文章主要介紹了vue v-slot指令,需要的朋友可以參考下
    2023-08-08
  • 解決Vue2.0中使用less給元素添加背景圖片出現(xiàn)的問題

    解決Vue2.0中使用less給元素添加背景圖片出現(xiàn)的問題

    今天小編就為大家分享一篇解決Vue2.0中使用less給元素添加背景圖片出現(xiàn)的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue之關(guān)于異步更新細(xì)節(jié)

    Vue之關(guān)于異步更新細(xì)節(jié)

    這篇文章主要介紹了Vue之關(guān)于異步更新細(xì)節(jié),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 詳解vscode中vue代碼顏色插件

    詳解vscode中vue代碼顏色插件

    vscode的確是前端開發(fā)中很好的工具,安裝顏色插件,從視覺上是美的享受。這篇文章主要介紹了vscode中vue代碼顏色插件 ,需要的朋友可以參考下
    2018-10-10

最新評論

奉节县| 胶州市| 休宁县| 固安县| 内乡县| 上栗县| 满洲里市| 许昌县| 新丰县| 荔波县| 金川县| 商水县| 吉水县| 大安市| 英吉沙县| 冕宁县| 连城县| 徐汇区| 顺义区| 永城市| 察雅县| 安阳县| 鞍山市| 中方县| 疏附县| 五大连池市| 和龙市| 化德县| 安丘市| 武隆县| 凉山| 高淳县| 当阳市| 仁化县| 克拉玛依市| 肇源县| 邹平县| 会同县| 商城县| 佛坪县| 买车|