VERSION

Version 1.5

DESCRIPTION

AuthCAS aims at providing a Perl \s-1API\s0 to Yale's Central Authentication System (\s-1CAS\s0). Only a basic Perl library is provided with \s-1CAS\s0 whereas AuthCAS is a full object-oriented library. =head1 \s-1PREREQUISITES\s0

This script requires IO::Socket::SSL and LWP::UserAgent

any

Network

SYNOPSIS

  A simple example with a direct CAS authentication

  use AuthCAS;
  my $cas = new AuthCAS(casUrl => 'https://cas.myserver,
                    CAFile => '/etc/httpd/conf/ssl.crt/ca-bundle.crt',
                    );

  my $login_url = $cas->getServerLoginURL('http://myserver/app.cgi');

  ## The user should be redirected to the $login_url
  ## When coming back from the CAS server a ticket is provided in the QUERY_STRING

  ## $ST should contain the receaved Service Ticket
  my $user = $cas->validateST('http://myserver/app.cgi', $ST);

  printf "User authenticated as %s\n", $user;


  In the following example a proxy is requesting a Proxy Ticket for the target application

  $cas->proxyMode(pgtFile => '/tmp/pgt.txt',
                  pgtCallbackUrl => 'https://myserver/proxy.cgi?callback=1
                  );

  ## Same as before but the URL is the proxy URL
  my $login_url = $cas->getServerLoginURL('http://myserver/proxy.cgi');

  ## Like in the previous example we should receave a $ST

  my $user = $cas->validateST('http://myserver/proxy.cgi', $ST);

  ## Process errors
  printf STDERR "Error: %s\n", &AuthCAS::get_errors() unless (defined $user);

  ## Now we request a Proxy Ticket for the target application
  my $PT = $cas->retrievePT('http://myserver/app.cgi');

  ## This piece of code is executed by the target application
  ## It received a Proxy Ticket from the proxy
  my ($user, @proxies) = $cas->validatePT('http://myserver/app.cgi', $PT);

  printf "User authenticated as %s via %s proxies\n", $user, join(',',@proxies);

DESCRIPTION

\s-1CAS\s0 is Yale University's web authentication system, heavily inspired by Kerberos. Release 2.0 of \s-1CAS\s0 provides \*(L"proxied credential\*(R" feature that allows authentication tickets to be carried by intermediate applications (Portals for instance), they are called proxy.

This AuthCAS Perl module provides required subroutines to validate and retrieve \s-1CAS\s0 tickets.

RELATED TO AuthCAS…

Yale Central Authentication Service (http://www.yale.edu/tp/auth/) phpCAS (http://esup-phpcas.sourceforge.net/)

COPYRIGHT

Copyright (C) 2003 Comite Reseau des Universites (http://www.cru.fr). All rights reserved.

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

AUTHORS

Olivier Salaun