NAME
Authen::CAS::External::Response - Response from CAS interaction.
VERSION
This documentation refers to version 0.08.
SYNOPSIS
my $response = $cas_external->authenticate;
if (!$response->is_success) {
croak 'Authentication failed';
}
# Get a PHP Session cookie
my %cookies = $response->get_cookies('PHPSESSID');
my $PHP_SESSION_ID = $cookies{PHPSESSID};
# Continue the request
$response = $ua->get($response->destination);
DESCRIPTION
This module is rarely created by anything other than Authen::CAS::External::UserAgent. This is an object that is provided to make determining what the CAS response was easier.
ATTRIBUTES
destination
This contains a URI object that is the URL to the destination service after authentication. This means that by going to this URL, the client should be at the service fully authenticated. Use "has_destination" to determine if the response has a destination address.
if ($response->has_destination) {
my $service_page = $user_agent->get($response->destination);
}
notification
Added in version 0.05; be sure to require this version for this feature.
This contains a string with a notification for the user from the CAS server. This is usually not set, but can be if the server uses something which tells the user their password is going to expire.
if ($response->has_notification) {
warn $response->notification;
}
response
This contains a HTTP::Response object that is the response that occurred right before the user agent would have left the CAS site. This would be useful for custom parsing of the response. Use "has_response" to determine if the response has a response.
service
This contains a URI object that is the URL of the service. This would typically be the host and path part of the destination service. Use "has_service" to determine if the response has a service.
service_ticket
This is the service ticket that has been granted for the service. Use "has_service_ticket" to determine if the response has a service ticket.
ticket_granting_cookie
This is the ticket granting cookie that has been given to the user agent to allow for re-authentication with the CAS service in the future without providing a username and password. Use "has_ticket_granting_cookie" to determine if the response has a ticket granting cookie.
METHODS
get_cookies
This method is for convenience purposes. Using this method, a HEAD request will be made to the destination URL and will return a hash of the cookie names and their values that would have been set.
get_cookies()
When no arguments are provided, returns a string of the cookies, using the as_string method of HTTP::Cookie.
get_cookies(@list_of_cookie_names)
When given a list of cookie names, a hash is returned with only those cookies where the cookie name is the key and the value is the value.
has_destination
Returns a Boolean of whether or not the response has an associated "destination".
has_notification
Added in version 0.05; be sure to require this version for this feature.
Returns a Boolean of whether or not the response has an associated "notification".
has_response
Returns a Boolean of whether or not the response has an associated "response".
has_service
Returns a Boolean of whether or not the response has an associated "service".
has_service_ticket
Returns a Boolean of whether or not the response has an associated "service_ticket".
has_ticket_granting_cookie
Returns a Boolean of whether or not the response has an associated "ticket_granting_cookie".
is_success
Returns a Boolean of whether or not this response indicates a successful authentication.
DEPENDENCIES
LWP::UserAgent 5.819
Moose 0.89
URI 1.22
namespace::clean 0.04
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.
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.