NAME

Authen::CAS::External - Authenticate with CAS servers as a browser would.

VERSION

This documentation refers to version 0.08.

SYNOPSIS

  my $cas_auth = Authen::CAS::External->new(
      cas_url => 'https://cas.mydomain.com/',
  );

  # Set the username and password
  $cas_auth->username('joe_smith');
  $cas_auth->password('hAkaT5eR');

  my $response = $cas_auth->authenticate();

  my $secured_page = $ua->get($response->destination);

DESCRIPTION

Provides a way to authenticate with a CAS server just as a browser would. This is useful with web scrapers needing to login to a CAS site.

CONSTRUCTOR

This is fully object-oriented, and as such before any method can be used, the constructor needs to be called to create an object to work with.

new

This will construct a new object.

new(%attributes)

%attributes is a HASH where the keys are attributes (specified in the "ATTRIBUTES" section).

new($attributes)

$attributes is a HASHREF where the keys are attributes (specified in the "ATTRIBUTES" section).

ATTRIBUTES

cas_url

This is the URL of the CAS site excluding /login. This can be a URI object or a string of a URL.

password

This is the password to use for logging in to the CAS site. When set, this clears the "ticket_granting_cookie".

This is the ticket granting cookie to use for logging into the CAS site. This can be set to log in with just the cookie and no username or password.

username

This is the username to use for logging in to the CAS site. When set, this clears the "ticket_granting_cookie".

METHODS

authenticate

This method will authenticate against the CAS service using the already supplied username and password and will return a Authen::CAS::External::Response object.

This method takes a HASH with the following keys:

gateway

This is a Boolean of if the gateway parameter should be sent to the CAS server. The default is to not send any gateway parameter.

renew

This is a Boolean of if the renew parameter should be sent to the CAS server. The default is to not send any renew parameter.

service

This is a string that specifies the service value to send to the CAS server. The default is to not send any service parameter.

get_cas_credentials

This method is not actually used, but is required for classes to consume the Authen::CAS::External::UserAgent role as this class does. This method will return the currently set username and password to the user agent.

This method is not actually used but is required for classes to consume the Authen::CAS::External::UserAgent role as this class does. This method will return the currently set ticket granting cookie if the username requested matches the username set (and always should).

DEPENDENCIES

AUTHOR

Douglas Christopher Wilson, <doug at somethingdoug.com>

BUGS AND LIMITATIONS

Please report any bugs or feature requests to bug-authen-cas-external at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Authen-CAS-External. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

I highly encourage the submission of bugs and enhancements to my modules.

SUPPORT

You can find documentation for this module with the perldoc command.

  perldoc Authen::CAS::External

You can also look for information at:

LICENSE AND COPYRIGHT

Copyright 2009 Douglas Christopher Wilson.

This program is free software; you can redistribute it and/or modify it under the terms of either:

  • the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or

  • the Artistic License version 2.0.