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