【发布时间】:2019-11-20 09:58:37
【问题描述】:
我在检索 Angular 发送到 Wamp Apache PHP 的授权标头时遇到问题。
这是我的 chrome 开发工具的快照:
经过大量研究,我能够通过将其中的任何一个添加到 来让 $_SERVER["HTTP_AUTHORIZATION"] 变量出现在 PHP 中.htaccess 文件:
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last]
以下变体没有对我有用(PS:它们可能对其他人可行):
CGIPassAuth On
SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
我的问题是 Header 现在存在于 PHP 中,但是 EMPTY。
正在使用的 API 端点示例
- PHP 7.2.1
- APACHE 2.4.35
- WAMP 3.1.4
【问题讨论】: