Apache2-Controller
view release on metacpan or search on metacpan
lib/Apache2/Controller/Directives.pm view on Meta::CPAN
$val = 'login' if !defined $val;
($val) = $val =~ m{ \A (.*) \z }mxs;
$val = $parms->path.'/'.$val if $val !~ m{ \A / }mxs;
$self->{A2C_Auth_OpenID_Login} = $val;
}
=head2 A2C_Auth_OpenID_Logout
A2C_Auth_OpenID_Logout logout
The URI path for your logout controller page.
Logout is processed automatically, resetting the flag and
timestamp in the session hash. So you just need to present
a page that says "Good riddance" or something.
Same conventions apply as to C<< A2C_Auth_OpenID_Login >>.
Default is the path where the controller is declared, appended with '/logout'.
Access will be allowed.
=cut
sub A2C_Auth_OpenID_Logout {
my ($self, $parms, $val) = @_;
$val = 'logout' if !defined $val;
($val) = $val =~ m{ \A (.*) \z }mxs;
$val = $parms->path.'/'.$val if $val !~ m{ \A / }mxs;
$self->{A2C_Auth_OpenID_Logout} = $val;
}
=head2 A2C_Auth_OpenID_Register
A2C_Auth_OpenID_Register register
The path for your registration page, where you will ask the user
to sign up and associate a username with the openid url.
Same conventions apply as to C<< A2C_Auth_OpenID_Login >>.
Default is the path where the controller is declared, appended with '/register'.
Access will be allowed.
=cut
sub A2C_Auth_OpenID_Register {
my ($self, $parms, $val) = @_;
$val = 'register' if !defined $val;
($val) = $val =~ m{ \A (.*) \z }mxs;
$val = $parms->path.'/'.$val if $val !~ m{ \A / }mxs;
$self->{A2C_Auth_OpenID_Register} = $val;
}
=head2 A2C_Auth_OpenID_Timeout
A2C_Auth_OpenID_Timeout +1h
Idle timeout in seconds, +2m, +3h, +4D, +6M, +7Y, or 'no timeout'.
Default is 1 hour. A month is actually 30 days, a year 365.
If you use 'no timeout' then logins will never expire.
This probably is not a good idea because OpenID url's can
be revoked, and because the login process can be a transparent
series of redirects if the user has something like
Verisign's SeatBelt plugin.
If you're doing some sort of cluster application or load balancing
and sharing the session between servers, make sure all your servers
are synchronized with NTP.
=cut
my %time_multiplier = (
s => 1,
m => 60,
h => 60 * 60,
D => 60 * 60 * 24,
M => 60 * 60 * 24 * 30,
Y => 60 * 60 * 24 * 365,
);
sub A2C_Auth_OpenID_Timeout {
my ($self, $parms, $val) = @_;
$val ||= '+1h';
($val) = $val =~ m{ \A (.*) \z }mxs;
if ($val ne 'no timeout') {
my ($num, $period) = $val =~ m{ \A \+? (\d+) ([YMDhms]?) \z }mxs;
$period ||= 's';
croak("A2C_Auth_OpenID_Timeout invalid format")
if !$num || !exists $time_multiplier{$period};
$val = $num * $time_multiplier{$period};
}
$self->{A2C_Auth_OpenID_Timeout} = $val;
}
=head2 A2C_Auth_OpenID_Table
A2C_Auth_OpenID_Login openid
Name of the table in your connected database containing the
user name and OpenID url fields. Default == "openid".
=cut
sub A2C_Auth_OpenID_Table {
my ($self, $parms, $val) = @_;
$val ||= 'openid';
($val) = $val =~ m{ \A (.*) \z }mxs;
$self->{A2C_Auth_OpenID_Table} = $val;
}
=head2 A2C_Auth_OpenID_User_Field
A2C_Auth_OpenID_User_Field uname
Name of username field in table. Default == "uname".
=cut
sub A2C_Auth_OpenID_User_Field {
my ($self, $parms, $val) = @_;
$val ||= 'uname';
( run in 0.672 second using v1.01-cache-2.11-cpan-39bf76dae61 )