axios请求中通过Token获取用户数据时出现401未经授权错误

问题描述 投票:0回答:1

当我尝试使用 Axios 在 React 应用程序中使用令牌获取用户数据时,遇到 401(未经授权)错误。当我尝试调用 getUserByToken 函数时会发生这种情况。 通过令牌获取用户

authToken 在 Redux 存储中设置正确,并且我在请求之前记录它。这是我设置令牌的方法:

调度(auth.actions.login(令牌));

我正在使用 Axios 拦截器将令牌附加到标头:

 export default function setupAxios(axios, store) {
 axios.interceptors.request.use(
 config => {
 const {
 auth: { authToken }
 } = store.getState();
// Log the token before adding it to the headers
 console.log("Token in interceptor:", authToken);
 if (authToken) {
 config.headers.Authorization = `Bearer ${authToken}`;
  }

  return config;
},
 err => Promise.reject(err)
  );
  }

ps:我的浏览器开发者工具(在“网络”选项卡下)的请求标头中不存在令牌 尽管设置了令牌,但什么可能导致 401(未经授权)错误? Axios 中的令牌处理是否存在我应该注意的常见问题?

我希望在令牌有效时收到用户数据。
附加信息 我正在使用 React、Redux 和 Redux-Saga。 当使用 Postman 等工具进行测试时,API 端点可以与有效令牌一起正常工作 这是我的

authredux.js

authcrud.js

profile.js

app.js

reactjs axios interceptor
1个回答
0
投票

您必须使用您创建的 axios 设置实例。在 authcrud.js 中获取您的个人资料时,您仍在导入和使用 axios。导出并使用您创建的 axios 实例。

© www.soinside.com 2019 - 2024. All rights reserved.