Catalyst::Plugin::Authentication::Credential::Password - Authenticate a user with a password.
use Catalyst qw/ Authentication Authentication::Store::Foo Authentication::Credential::Password /; sub login : Local { my ( $self, $c ) = @_; $c->login( $c->req->param('login'), $c->req->param('password') ); }
This authentication credential checker takes a user and a password, and tries various methods of comparing a password based on what the user supports:
If the user has clear a clear text password it will be compared directly.
If UNIX crypt hashed passwords are supported, they will be compared using perl's builtin crypt function.
crypt
If the user object supports hashed passwords, they will be used in conjunction with Digest.
Try to log a user in.
$user can be an ID or object. If it isa Catalyst::Plugin::Authentication::User it will be used as is. Otherwise $c->get_user is used to retrieve it.
$user
$c->get_user
$password is a string.
$password
If $user or $password are not provided the parameters login, user, username and password, passwd, pass will be tried instead.
login
user
username
password
passwd
pass
Predicate:
$user->supports(qw/password clear/);
Expected methods:
Returns the user's clear text password as a string to be compared with eq.
eq
$user->supports(qw/password crypted/);
Return's the user's crypted password as a string, with the salt as the first two chars.
$user->supports(qw/password hashed/);
Return's the hash of the user's password as binary.
Returns a string suitable for feeding into "new" in Digest.
Returns a string to be hashed before/after the user's password. Typically only a pre-salt is used.
$user->supports(qw/password salted_hash/);
Return's the hash of the user's password as returned from Crypt-SaltedHash->generate.
Optional methods:
Returns the length of salt used to generate the salted hash.
1 POD Error
The following errors were encountered while parsing the POD:
You forgot a '=back' before '=head2'
To install Catalyst::Plugin::Authentication, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Catalyst::Plugin::Authentication
CPAN shell
perl -MCPAN -e shell install Catalyst::Plugin::Authentication
For more information on module installation, please visit the detailed CPAN module installation guide.