1

如何使用 Perl Dancer 访问请求的 Authorization 标头?

我已经测试了我的客户端,它成功地传递了Authorization标头,但它没有出现在request->headers哈希中。我可以通过简单地拼写错误或X-在前面附加一个来显示它,但我正在制作一个 API,并希望使用传统的标头来传递请求签名以进行身份​​验证。

4

1 回答 1

4

看起来 FastCGI 去除了 Authorization 标头,可能是因为基本的 HTTP 身份验证非常不安全。并不是说通过 POST 发送用户名和密码更好。

Plack::Handler::FCGI ...

Most fastcgi configuration does not pass Authorization headers to
HTTP_AUTHORIZATION environment variable by default for security reasons.
Authentication middleware such as Plack::Middleware::Auth::Basic or 
Catalyst::Authentication::Credential::HTTP requires the variable to be set up. 
Plack::Handler::FCGI supports extracting the Authorization environment variable
when it is configured that way.

Apache2 with mod_fastcgi:
--pass-header Authorization

mod_fcgid:
FcgiPassHeader Authorization

它也被提到作为对Plack::Middleware::Auth::Digest的警告。

于 2012-10-15T01:44:56.093 回答