首页 > 解决方案 > 如何在 Axios 中传递 Bearer 令牌

问题描述

我今天早上寻找答案并尝试了很多东西,但我的 axios API 调用总是失败并出现 401 错误。

此外,如果我尝试从控制台或邮递员的 curl 请求工作,我不明白为什么在我前面使用 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 令牌,则该请求有效......

我需要传递一个不记名令牌,因为对于生产版本,我无法取消不记名。

预先感谢您的帮助。

标签: node.jsvue.jsaxios

解决方案


经过一番搜索后,我找到了解决方案...您需要使用 cors 策略授权后端...在我自己的 node js 后端有效...我等待 java api 后端的修复;)


推荐阅读