Symfony 2 中的请求标头包缺少授权标头?
问题描述:
我正在尝试在 Symfony 中实现一个自定义身份验证提供程序2. 我正在使用 Fiddler 发送测试请求并打印所有标头服务器端;好吧,Authorization
标题丢失了.
I'm trying to implement a custom authentication provider in Symfony 2. I'm sending a test request using Fiddler and printing all headers server side; well, Authorization
header is missing.
我做错了吗?
GET /RESTfulBackend/web/index.php HTTP/1.1
Authorization: FID 44CF9590006BF252F707:jZNOcbfWmD/
Host: localhost
User-Agent: Fiddler
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: it-it,it;q=0.8,en-us;q=0.5,en;q=0.3
侦听器只是打印标题并退出:
Listener just prints the headers and quits:
class HMACListener implements ListenerInterface
{
private $securityContext;
private $authenticationManager;
public function handle(GetResponseEvent $event)
{
$request = $event->getRequest();
print_r($request->headers->all());
die();
}
}
响应缺少 Authorization
标头:
Array
(
[host] => Array
(
[0] => localhost
)
[user-agent] => Array
(
[0] => Fiddler
)
[accept] => Array
(
[0] => text/html,application/xhtml+xml,application/xml
)
[accept-language] => Array
(
[0] => it-it,it;q=0.8,en-us;q=0.5,en;q=0.3
)
)
答
您必须将此代码添加到 virtualhost 标签
You must add this code to a virtualhost tag
如果你把它放在目录标签中,它就不会工作.
It will not work if you put it in a Directory tag.
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]