当我尝试使用 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 端点可以与有效令牌一起正常工作
这是我的
您必须使用您创建的 axios 设置实例。在 authcrud.js 中获取您的个人资料时,您仍在导入和使用 axios。导出并使用您创建的 axios 实例。