无法通过Axios发送Authorization Bearer Token,请求返回未授权
问题
在Postman中携带Token请求API端点可正常运行,但在Express.js中通过Axios发起相同请求时,却收到未授权响应。
请求代码:
try { const response1 = await axios.get(`https://url/payment/pse/banks`,{headers: { 'Content-Type': 'application/json', 'Authorization':`Bearer ${token}` }}) console.log("lista",response1.data); } catch (error) { console.log(error.response.data) }
返回响应:
{ success: false, titleResponse: 'Unauthorized.', textResponse: 'Unauthorized.', lastAction: '', data: { token: '' } }
排查方向与解决建议
- 检查Token变量有效性:确认
${token}的值和Postman中使用的完全一致,通过console.log(token)输出对比,排查是否存在Token未正确获取、过期、前后带有多余空格等问题。 - 校验Authorization头格式:确保
Bearer ${token}中,Bearer和Token之间有且仅有一个空格,避免拼接后格式不符合接口要求。 - 移除不必要的Content-Type头:GET请求通常无需设置
Content-Type: application/json,Postman可能默认未携带该头,尝试删除这个头后重新发起请求。 - 排查请求隐式差异:对比Postman和Axios的请求详情,检查是否遗漏了Cookie、代理设置或其他自定义头;同时确认请求URL完全一致,没有环境(测试/生产)混淆或拼写错误。
- 验证Token获取流程:如果Token通过其他接口获取,确保Express.js中的获取逻辑和Postman一致,比如是否正确处理响应、是否因跨域或会话问题导致Token无效。
内容的提问来源于stack exchange,提问作者dialac
相关产品推荐
相关产品推荐

