logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Catalyst::Authentication::Store::IMAP - Authentication store accessing an IMAP server.

Attributes

host
       The host name used to connect to.

Authors

       Stefan Seifert <nine@cpan.org>

Configuration Options

host
       Sets the host name (or IP address) of the IMAP server.

   port
       Optionally set the port to connect to, defaults to 143.  If you specify port 993, IO::Socket::SSL will be
       used for connecting.

Description

       This plugin implements the Catalyst::Authentication v.10 API. Read that documentation first if you are
       upgrading from a previous version of this plugin.

       This plugin uses "Mail::IMAPClient" to let your application authenticate against an IMAP server.  The
       used imap client object is stored on the stash as imapclient for use in other components.

License

       This library is free software, you can redistribute it and/or modify it under the same terms as Perl
       itself.

perl v5.40.1                                       2025-03-02              Catalyst::Auth...on::Store::IMAP(3pm)

Methods

newfrom_sessionfind_user

Name

       Catalyst::Authentication::Store::IMAP - Authentication store accessing an IMAP server.

See Also

       Catalyst::Authentication::Store::IMAP::User Catalyst::Plugin::Authentication, Mail::IMAPClient

Synopsis

           use Catalyst qw(
             Authentication
             );

           __PACKAGE__->config(
             'authentication' => {
                default_realm => "imap",
                realms => {
                  imap => {
                    credential => {
                      class          => "Password",
                      password_field => "password",
                      password_type  => "self_check",
                    },
                    store => {
                      class => 'IMAP',
                      host  => 'localhost',
                    },
                  },
                },
              },
           );

           sub login : Global {
               my ( $self, $c ) = @_;

               $c->authenticate({
                                 id          => $c->req->param("login"),
                                 password    => $c->req->param("password")
                                });
               $c->res->body("Welcome " . $c->user->username . "!");
           }

See Also