NAME
Catalyst::Plugin::Authentication::Store::HTTP - Remote HTTP
authentication storage
SYNOPSIS
# load plugins
use Catalyst qw/
Session
Session::State::Cookie
Session::Store::FastMmap
Authentication
Authentication::Store::HTTP
Authentication::Credential::Password
# or Authentication::Credential::HTTP
/;
# configure your authentication host
MyApp->config(
authentication => {
http => {
auth_url => 'http://example.com/',
},
},
);
# and in action
sub login : Global {
my ( $self, $c ) = @_;
$c->login( $username, $password );
}
DESCRIPTION
This module is Catalyst authentication storage plugin that authenticates
based on a URL HTTP HEAD fetch using the supplied credentials. If the
fetch succeeds then the authentication succeeds.
LWP::UserAgent is used to fetch the URL which requires authentication,
so any authentication method supported by that module can be used.
Remote authentication methods known to work are:-
* Basic
* Digest
* NTLM - but see notes below
This is re-implementation of
Catalyst::Plugin::Authentication::Basic::Remote.
CONFIGURATION
Configuration is done in the standard Catalyst fashion. All
configuration keys are under "authentication/http".
The supported keys are:-
auth_url
The URL that is fetched to demonstrate that the supplied credentials
work. This can be any URL that LWP::UserAgent will support and that
will support a "HEAD" method. This item must be supplied.
keep_alive
A boolean value that sets whether keep alive is used on the URL
fetch. This must be set for NTLM authentication - and the *ntlm*
configuration key forces it to be set.
domain
An optional domain value for authentication. If set the presented
username for authentication has this domain prepended to it - this
is really of use only for NTLM authentication mode.
ntlm
A boolean value that should be set if NTLM authentication is
required. If this is set then *domain* must be set and *keep_alive*
is forced on.
EXTENDED METHODS
setup
Checks the configuration information and sets up the
"default_auth_store". This method is not intended to be called directly
by user code.
SEE ALSO
Catalyst::Plugin::Authentication.
AUTHOR
Daisuke Murase <typester@cpan.org>
Nigel Metheringham <nigelm@cpan.org>
COPYRIGHT
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included
with this module.