1

我遇到了一些问题,我正在使用这个oauth 库,起初我认为它有一个错误,因为我可以正确获取我的令牌,但是在使用令牌时我得到一个 401 错误,经过一些实验后我发现它与apache有关。如果我从命令行启动 php 服务器,它确实可以正常工作,所以现在我不知道 apache 可以做什么来使脚本出现故障。

我在 Windows 机器上安装了 XAMPP。(Apache/2.4.27 (Win32) OpenSSL/1.0.2l PHP/7.1.9)

我在apache中配置了虚拟主机,就像这样。

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/slim3-simple-rest-skeleton-master/public"
    ServerName TestSite
</VirtualHost>

我的 etc 主机文件添加了该行127.0.0.1 TestSite

使用该配置,我可以向http://testsite/oauth/token发出请求并获取我的访问令牌,所以这里一切正常。

但是当我访问http://testsite/books时,我得到一个带有 401 未经授权标题的空白页。

另一方面,如果我去我的文件夹slim3-simple-rest-skeleton-master并运行它php -S 0.0.0.0:8888 -t public/

我可以像以前一样在http://localhost:8888/oauth/token获取我的令牌,当我访问http://localhost:8888/books时,它可以正常工作。

我一直试图弄清楚有什么不同,但我没有运气,我在两种情况下都打印了一个 phpinfo 并且无法发现任何显着差异,知道我可以寻找什么吗?

我可以尝试记录什么以查看发生的不同情况?

4

1 回答 1

0

问题出在 apache 上删除 Header 授权,通过添加

RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]

使 apache 添加标题并正常工作。

于 2017-10-31T16:56:51.503 回答