如何在Axios中传递Bearer令牌

时间:2019-04-09 10:14:41

标签: node.js vue.js axios

今天早晨,我在寻找答案并尝试许多尝试,但是我的axios API调用始终失败,并显示401错误。

此外,如果我尝试通过控制台或邮递员进行卷发,则该请求有效,而且我不明白为什么在前面使用vue和axios失败了。

我试图在全球范围内传递承载,然后选择一条唯一的路线

首先,我已经为Axios配置了模块

export default() => {
  return axios.create({
    baseURL: process.env.VUE_APP_API,
    headers: { 
        'Content-Type': 'application/json',
        Authorization: 'Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIyIn0.wxYD9dllTqT1gAIBmwo35Z4Q4qmlDZwXqz9FdYqXZnU'
    }
  })
}

然后我有我的请求

Api().get(`user-profiles/${id}`).then(function (response) {
        return(response)
      })

请求是这个:

Request URL: https://***
Request Method: OPTIONS
Status Code: 401 
Remote Address: ****
Referrer Policy: no-referrer-when-downgrade
Access-Control-Allow-Headers: Content-Type
Access-Control-Allow-Methods: GET, POST, DELETE, PUT, PATCH
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Location
Provisional headers are shown
Access-Control-Request-Headers: authorization
Access-Control-Request-Method: GET
Origin: http://localhost:8080
Referer: http://localhost:8080/login
User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Mobile Safari/537.36

您还需要其他数据吗? 如果我不使用不记名令牌,则该请求有效...

我需要传递一个Bearer令牌,因为对于生产版本,我无法摘下该Bearer。

预先感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

经过一番搜索,我找到了解决方案... 您需要使用cors政策授权后端... 在我自己的节点js后端中,它可以正常工作...我等待Java api后端的修复;)

答案 1 :(得分:0)

h'ttps://stackoverflow.com/questions/45578844/how-to-set-header-and-options-in-axios

就像在最佳答案中提到的那样,您应该参加

export default() => {
  return axios.create({
    baseURL: process.env.VUE_APP_API,
    headers: { 
      'get': {
        'Content-Type': 'application/json',
        Authorization: 'Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIyIn0.wxYD9dllTqT1gAIBmwo35Z4Q4qmlDZwXqz9FdYqXZnU'
      }
    }
  })
}