Php 通过标头发送授权时出错
我正在开发一个PHP Restful Api,为了进行测试,我使用了Chrome Advanced REST client和Postman,但问题是该Api在本地主机上工作得很好,但在公共服务器上,当我想通过标头发送授权时,Postman和Advanced REST client都会给我一个json响应,包括以下错误:“api密钥丢失”,这意味着它无法识别授权 请看这两张图片: 这个问题有什么解决办法吗Php 通过标头发送授权时出错,php,android,api,rest,authorization,Php,Android,Api,Rest,Authorization,我正在开发一个PHP Restful Api,为了进行测试,我使用了Chrome Advanced REST client和Postman,但问题是该Api在本地主机上工作得很好,但在公共服务器上,当我想通过标头发送授权时,Postman和Advanced REST client都会给我一个json响应,包括以下错误:“api密钥丢失”,这意味着它无法识别授权 请看这两张图片: 这个问题有什么解决办法吗 我将非常感谢您的帮助;提前感谢:)这可能是由于某些Apache配置丢弃了授权头(如果它的
我将非常感谢您的帮助;提前感谢:)这可能是由于某些Apache配置丢弃了
授权
头(如果它的格式未知)。您可以尝试在应用程序目录中创建一个名为.htaccess
的文件,将setenif Authorization(.*)一行放入HTTP\u AUTHORIZATION=$1
,然后通过$\u服务器[“HTTP\u AUTHORIZATION”]
访问标头
基本上,这是将一个名为
HTTP\u AUTHORIZATION
的环境变量设置为Apache放弃前AUTHORIZATION
头的值。您是否尝试打印$headers
?里面有什么?@LucaAbbati:是的,但除了身份验证之外,其他都有:请发布实际代码屏幕截图。详细信息。谢谢。非常感谢Chris:)它工作得很好,但有一点变化:我在我的.htaccess文件中添加了这行setenif Authorization“(*)”HTTP\u Authorization=$1,我使用了$\u SERVER['REDIRECT\u HTTP\u Authorization']而不是$\u SERVER[“HTTP\u Authorization”]。