token处理 - axios请求拦截器统一注入

1. token理解

token 作为其它请求的用户标识,我们使用请求拦截器做一下统一处理,让每一个请求的 header 中都拥有 token

2. 初始化token状态

export default {
  namespaced: true,
  state: {
    token: null // 用户 Token,默认为 null
  },
  mutations: {

    // ========== 方法1 - 设置token ==========
    setToken(state, newToken) {
      state.token = newToken
    },

    // ========== 方法2 - 删除token ==========
    removeToken(state) {
      state.token = null
    }
  },
  actions: {},
  getters
}

3.token处理 - axios请求拦截器统一注入

  • 思路
    将 token 保存到 vuex 中,接下来只需要在 axios 请求拦截器中取出token值再填充到 header 中即可。

  • 代码逻辑
    1)如果当前 vuex中有 token,就在请求头中设置上。
    2)因为后端返回的 token 没有添加上 Bearer 字符串,因此我们需要手动添加。
    3)authorization 和 Bearer 是本项目的后端接口要求的写法。

import store from '@/store'
service.interceptors.request.use(
  config => {
    const token = store.state.user.token
    // 如果当前存有token,就加在请求头上
    if (token) {
      config.headers['Authorization'] = `Bearer ${token}`
    }
    return config
  }
  , error => {
  return Promise.reject(error)
}) 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值