NAME

Ucam::WebAuth::AA - Generic interface to the University of Cambridge Web Authentication Service.


SYNOPSIS

    use base qw(Ucam::WebAuth::AA);
    sub new {
      my $classname = shift;
      [...]
      my $self = $classname->SUPER::new(%args);
      [...]
      return $self;
    }
    sub authenticate {
      my ($self) = shift;
      [...]
      my $complete = $self->SUPER::authenticate(%args);
      [...]
      return $complete;
    }
    sub method {
      my $self = shift;  
      [...]
    }
    sub header {
      my $self = shift;
      [...]
    }
    sub querystring {
      my $self = shift;  
      [...]
    }
    sub this_url {
      my $self = shift;  
      [...]
    }
    sub secure {
      my $self = shift;  
      [...]
    }


DESCRIPTION

The University of Cambridge Web Authentication Service provides centralized, password-based user authentication for web-based access without disclosing user's password to individual sites. This system replies on the ability of HTTP responses to redirect a browser between an originally requested resource and the central authentication server, and uses a signed assertion from the authentication service to carry authentication information.

This module provides a generic 'application agent' object which interacts with the authentication service. This module is not intended to be called directly - instead it provides a framework which is intended to be subclassed to impliment a 'real' AA. In particular, the subclass must provide the method, header, querystring, this_url, and secure.


DEPENDENCIES

This module relies on the following perl modules (which may have their own dependencies):

Ucam::WebAuth::Ticket (at least version 0.05)
CGI::Cookie
Time::Local
URI::Escape
Carp


AUTHOR

Jon Warbrick (jon.warbrick@ucs.cam.ac.uk)


COPYRIGHT

Copyright (c) 2004,2005 University of Cambridge. You can redistribute it and/or modify it under the terms of the GNU Lesser General Public <License.


SEE ALSO

perl(1), Ucam::WebAuth::CGIAA, 'The Cambridge Web Authentication System: WAA->WLS communication protocol'.