NAME

Catalyst::Authentication::Credential::NoPassword - Authenticate a user without a password.

SYNOPSIS

use Catalyst qw/
  Authentication
  /;

package MyApp::Controller::Auth;

sub login_as_another_user : Local {
    my ($self, $c) = @_;

    if ($c->user_exists() and $c->user->username() eq 'root') {
        $c->authenticate( {id => c->req->params->{user_id}}, 'nopassword' );
    }
}

DESCRIPTION

This authentication credential checker takes authentication information (most often a username) and retrieves the user from the store. No validation of any credentials is done. This is intended for administrative backdoors, SAML logins and so on when you have identified the new user by other means.

CONFIGURATION

# example
<Plugin::Authentication>
    <nopassword>
        <credential>
            class = NoPassword
        </credential>
        <store>
            class = DBIx::Class
            user_model = DB::User
            role_relation = roles
            role_field = name
        </store>
    </nopassword>
</Plugin::Authentication>

METHODS

authenticate ( $c, $realm, $authinfo )

Try to log a user in.