DOKK / manpages / debian 12 / libcatalyst-plugin-authentication-perl / Catalyst::Authentication::Credential::NoPassword.3pm.en
Catalyst::Authentication::Credential::NoPassword(3pm) User Contributed Perl Documentation Catalyst::Authentication::Credential::NoPassword(3pm)

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

    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' );
        }
    }

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.

    # 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>

Try to log a user in.

2023-01-22 perl v5.36.0