react-native之Heroku 授权 header 丢失

sharpest 阅读:129 2025-06-02 22:19:02 评论:0

我在 heroku 中部署了一个 golang api 服务。我正在使用 axios 从 react 原生 iOS 应用程序调用 api。问题是 Heroku 中缺少授权 header ,即使我已经验证我正在使用 reactotron 发送授权 header 。
客户端:

const {data} = await axios.get(url, { 
  headers: { 
     Authorization: `Basic ${token}`, 
  }, 
}); 
服务器端日志:
time="2020-06-27T00:41:06Z" level=info msg=Header name=Accept value="application/json, text/plain, */*" 
2020-06-27T00:41:06.875881+00:00 app[web.1]: time="2020-06-27T00:41:06Z" level=info msg=Header name=Accept-Encoding value="gzip, deflate, br" 
2020-06-27T00:41:06.875885+00:00 app[web.1]: time="2020-06-27T00:41:06Z" level=info msg=Header name=Connection value=close 
2020-06-27T00:41:06.875912+00:00 app[web.1]: time="2020-06-27T00:41:06Z" level=info msg=Header name=X-Forwarded-For value=some ip address 
2020-06-27T00:41:06.875969+00:00 app[web.1]: time="2020-06-27T00:41:06Z" level=info msg=Header name=X-Forwarded-Proto value=https 
2020-06-27T00:41:06.875970+00:00 app[web.1]: time="2020-06-27T00:41:06Z" level=info msg=Header name=Connect-Time value=1 
2020-06-27T00:41:06.875994+00:00 app[web.1]: time="2020-06-27T00:41:06Z" level=info msg=Header name=Accept-Language value=en-us 
2020-06-27T00:41:06.876042+00:00 app[web.1]: time="2020-06-27T00:41:06Z" level=info msg=Header name=X-Request-Start value=1593218466874 
2020-06-27T00:41:06.876047+00:00 app[web.1]: time="2020-06-27T00:41:06Z" level=info msg=Header name=Total-Route-Time value=0 
2020-06-27T00:41:06.876081+00:00 app[web.1]: time="2020-06-27T00:41:06Z" level=info msg=Header name=User-Agent value="app/1 CFNetwork/1126 Darwin/19.5.0" 
2020-06-27T00:41:06.876106+00:00 app[web.1]: time="2020-06-27T00:41:06Z" level=info msg=Header name=X-Request-Id value=some id 
2020-06-27T00:41:06.876146+00:00 app[web.1]: time="2020-06-27T00:41:06Z" level=info msg=Header name=X-Forwarded-Port value=443 
2020-06-27T00:41:06.876150+00:00 app[web.1]: time="2020-06-27T00:41:06Z" level=info msg=Header name=Via value="1.1 vegur" 
有趣的是我可以通过 Postman 成功调用端点。该代码还可以与本地 api 服务完美配合。我的第一个假设是 CORS 问题,所以我添加了这样的所有标题:
w.Header().Set("Access-Control-Allow-Origin", "*") 
w.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE") 
w.Header().Set("Access-Control-Allow-Headers", "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization") 
其中 w 是 http.ResponseWriter。他们没有帮助。缺少授权 header !如果我发送“X-Authorization”,它工作正常。我的猜测是heroku是问题所在。
有没有人有一个指针如何解决这个问题?

请您参考如下方法:

哇。我找到了解决方案。
https://herokuapp.com//api/something删除授权 header 。
https://herokuapp.com/api/something不丢弃标题。
双斜杠导致标题下降..


标签:React
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号