Vue + Axios 請求服務器添加簡單簽名驗證


后端進行接口簽名了,前端自然而然的頁要加上對應的簽名,加密的方式和后端的要保持一致。

MD5

添加js-md5包

你不用去想服務端是怎么實現簽名的,你只需要知道服務端用md5加密簽名,剩下的我們通過社區的力量,找到對應的md5擴展包,安裝到我們的項目即可。我這里用的是js-md5包,在命令行中運行對應命令安裝:

npm install js-md5

編寫全局Axios請求文件

import axios from 'axios'
// 引用js-md5包
import md5 from 'js-md5'

// 創建axios實例
const req = axios.create({
  // 設置基礎url
  baseURL: '/api/v1',
  // 超時時間
  timeout: 5000
})

// 請求攔截器
req.interceptors.request.use(
  // 配置
  config => {
    // 合並參數
    var params = Object.assign(config.params || {}, {
      // 時間戳
      timestamp: parseInt(Date.now() / 1000)
    })

    // 處理待簽名的數據
    var item = []
    for (const k in params) {
      if (Object.hasOwnProperty.call(params, k) && k != 'sign') {
        item.push(k + params[k])
      }
    }
    var str = item.sort().join('')

    // 拼接你的密鑰然后進行簽名
    params.sign = md5(str + '')
    config.params = params

    return config
  },
  // 錯誤處理
  error => {
    return Promise.reject(error)
  }
)

export default req

剩下的,你只要正常調用對應的 axios 實例發起請求就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM