NAME

Authen::PAAS::LoginModule - a pluggable authentication module

SYNOPSIS

use Authen::PAAS::LoginModule;

my $result = $module->login($subject, \%callbacks);

DESCRIPTION

This module provides the API for authenticating a subject for the purposes of session login. It will be subclassed to provide the implementations of different authentication schemes.

METHODS

my $module = Authen::PAAS::LoginModule->new(flags => $flags, options => \%options);

Creates a new login modules. The flags parameter should be one of the keywords sufficient, requisite, required and optional. The options parameter is a hash reference containing sub-class specific configuration options.

$module->option($name, $default);

Retrieves the value of the configuration option identified by the $name parameter. If the named configuration option is not set, then the $default value is returned.

my $flags = $module->flags;

Retrieves the flags for the module, one of the keywords sufficient, requisite, required and optional.

my $res = $module->login($subject, $callbacks);

Attempt to login using authentication data obtained from the callbacks, if successful, adding principals and credentials to the subject. The $callbacks parameter is a hash reference, whose keys are the names of authentication tokes, and values are instances of th Authen::PAAS::Callback class. If successful, this method must return a true value, otherwise a false value. This method must be implemented by subclasses.

$module->logout($subject);

Attempt to logout a subject, by removing any principals anc credentials added during the login method. This method must be implemented by subclasses.

AUTHORS

Daniel Berrange <dan@berrange.com>

COPYRIGHT

Copyright (C) 2004-2006 Daniel Berrange

SEE ALSO

Authen::PAAS::Context, Authen::PAAS::Subject, Authen::PAAS::Callback.