package Catalyst::Authentication::AuthTkt;
use warnings;
use strict;
our $VERSION = '0.11';
=head1 NAME
Catalyst::Authentication::AuthTkt - shim for Apache::AuthTkt
=head1 SYNOPSIS
# in your MyApp.pm file
use Catalyst qw(
Authentication
);
# Configure an authentication realm in your app config:
default_realm authtkt
auth_url http://yourdomain/login
class AuthTkt
class AuthTkt
class AuthTkt
cookie_name auth_tkt
# either the path to your Apache .conf file
#conf path/to/httpd.conf
# or set the secret string explicitly
#secret fee fi fo fum
# these next two are the Apache::AuthTkt defaults
timeout 2h
timeout_refresh 0.50
# explicitly define a domain for the cookie
# NOTE the leading dot means every host in the subdomain
domain .foo.bar.com
# mock a user -- this effectively turns off
# the auth system. *** for development only ***
id joeuser
tokens foo
tokens bar
# and then in your Root controller 'auto':
sub auto : Private {
my ( $self, $c ) = @_;
# validate the ticket and update ticket and session if necessary
return 1 if $c->authenticate;
# no valid login found so redirect.
$c->response->redirect( $c->config->{authentication_url} );
# tell Catalyst to abort processing.
return 0;
}
# and then elsewhere in your app
if ($c->user_exists) {
$c->log->debug("Logged in as user " . $c->user->id);
#...
}
=head1 DESCRIPTION
This module implements the Catalyst::Authentication API
for Apache::AuthTkt version 0.08 and later.
B
Instead, this module simply checks that the
AuthTkt cookie is present and unpacks it
in accordance with the Authentication API.
The intention is that you create/set the AuthTkt cookie
independently of the Authentication code,
whether in a separate application (e.g. the mod_auth_tkt
C script) or via the Apache::AuthTkt module directly.
mod_auth_tkt L
is a single-sign-on C module for Apache.
Using this module, however, you could implement all
the features of mod_auth_tkt, in Perl, using any
web server where you can deploy Catalyst, including
front-end-proxy/back-end-mod_perl and lighttpd situations.
=head1 AUTHOR
Peter Karman, C<< >>
=head1 BUGS
Please report any bugs or feature requests to
C,
or through the web interface at
L.
I will be notified, and then you'll automatically be
notified of progress on
your bug as I make changes.
=head1 SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Catalyst::Authentication::AuthTkt
You can also look for information at:
=over 4
=item * AnnoCPAN: Annotated CPAN documentation
L
=item * CPAN Ratings
L
=item * RT: CPAN's request tracker
L
=item * Search CPAN
L
=back
=head1 ACKNOWLEDGEMENTS
The Minnesota Supercomputing Institute C<< http://www.msi.umn.edu/ >>
sponsored the development of this software.
=head1 COPYRIGHT & LICENSE
Copyright 2008 by the Regents of the University of Minnesota.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
=cut
1; # End of Catalyst::Authentication::AuthTkt