[Catalyst] Catalyst with HTTP authentication
Robert Rothenberg
robrwo at gmail.com
Fri Mar 22 13:34:45 GMT 2013
On 22/03/13 11:46 Robert Rothenberg wrote:
> I understand how to have an Apache reverse proxy send the REMOTE_USER as a
> header, with something like
>
> RequestHeader set X-Proxy-REMOTE-USER %{REMOTE_USER}
>
> but how to I get Authentication::Credential::Remote to use the header
> instead of the environment variable? Do I need an auto method in Root.pm
> that checks for the header and sets $c->req->remote_user()?
I have code such as
if (my $user = $c->req->header('X-Proxy-REMOTE-USER')) {
$c->engine->env({ REMOTE_USER => $user });
$c->authenticate({});
}
which works, but I get a warning "env as a writer is deprecated, you
probably need to upgrade Catalyst::Engine::PSGI".
I'm unsure what to do here. Should I write a Plack::Middleware plugin that
translates the X-Proxy-REMOTE_USER header to an env->{REMOTE_USER}?
More information about the Catalyst
mailing list