【问题标题】:Error in sending Authorization through the header通过标头发送授权时出错
【发布时间】:2016-04-07 22:33:47
【问题描述】:

我正在开发一个 PHP Restful Api 并进行测试,我正在使用 Chrome 高级 REST 客户端和 Postman,但问题是 api 在本地主机上运行良好,但在我想发送一个公共服务器时通过标头授权,邮递员和高级休息客户端都给我一个 json 响应,包括此错误:“api key is missing”,这意味着它无法识别授权!

请看这两张照片:

Authenticate function in my php rest api

Postman's error

这个问题有解决办法吗?

如果能提供任何帮助,我将不胜感激;在此先感谢:)

【问题讨论】:

  • 您是否尝试打印$headers?里面有什么?
  • @LucaAbbati :是的,但除了 Authenticate 之外,其他的都有:D
  • 请发布实际代码而不是屏幕截图。 See here 了解详情。谢谢。

标签: php android api rest authorization


【解决方案1】:

这可能是由于某些 Apache 配置丢弃了 Authorization 标头(如果它不是已知格式)。您可以尝试在您的应用程序目录中创建一个名为 .htaccess 的文件,将行 SetEnvIf Authorization (.*) HTTP_AUTHORIZATION=$1 放入其中,然后通过 $_SERVER["HTTP_AUTHORIZATION"] 访问标题。

基本上,它所做的是将名为 HTTP_AUTHORIZATION 的环境变量设置为 Authorization 标头在 Apache 丢弃它之前的值。

【讨论】:

  • 非常感谢 Chris :) 它运行良好,但稍作改动:我在 .htaccess 文件中添加了这一行 SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 并使用了 $_SERVER[' REDIRECT_HTTP_AUTHORIZATION'] 而不是 $_SERVER["HTTP_AUTHORIZATION"] 。
猜你喜欢
  • 2020-10-23
  • 2023-02-23
  • 1970-01-01
  • 1970-01-01
  • 2017-11-23
  • 1970-01-01
  • 1970-01-01
  • 2020-03-24
  • 2022-11-08
相关资源
最近更新 更多