Apache2-AuthCAS
view release on metacpan or search on metacpan
lib/Apache2/AuthCAS.pm view on Meta::CPAN
my $LOG_DEBUG = 3;
my $LOG_EMERG = 4;
my %ERROR_CODES = (
"DB" => "Database Service Error",
"PGT" => "CAS Proxy Service Error",
"PGT_RECEPTOR" => "Proxy Receptor Error",
"INVALID_RESPONSE" => "Invalid Service Response",
"INVALID_PGT" => "Invalid Proxy Granting Ticket",
"MISSING_PGT" => "Missing Proxy Granting Ticket",
"CAS_CONNECT" => "CAS couldn't validate service ticket",
);
my %DEFAULTS = (
"Host" => "localhost",
"Port" => "443",
"LoginUri" => "/cas/login",
"LogoutUri" => "/cas/logout",
"ProxyUri" => "/cas/proxy",
"ProxyValidateUri" => "/cas/proxyValidate",
"ServiceValidateUri" => "/cas/serviceValidate",
lib/Apache2/AuthCAS.pm view on Meta::CPAN
}
else
{
my $service = $self->this_url(1);
$self->logMsg("no session cookie for service: '$service'", $LOG_DEBUG);
}
# No session (or an expired one). Check for a ticket
if (my $ticket = $params{'ticket'})
{
# validate service ticket through CAS, since no valid cookie was found
my($error, $user, $pgtiou) = $self->validate_service_ticket($ticket);
if ($error)
{
return $self->redirect($self->casConfig("ErrorUrl"), $error);
}
# map a new session id to this pgtiou and give the client a cookie
my $sid = $self->create_session($user, $pgtiou, $ticket);
if (!$sid)
lib/Apache2/AuthCAS.pm view on Meta::CPAN
$self->logMsg("no redirect URL, displaying message", $LOG_INFO);
$self->{'request'}->content_type('text/html');
$self->{'request'}->print("<html><body>service misconfigured</body></html>");
$self->{'request'}->rflush();
return (Apache2::Const::HTTP_OK);
}
}
# params
# apache request object
# ticket to be validated
# returns a hash with keys on success
# 'user', 'pgtiou'
# NULL on failure
sub validate_service_ticket($$$)
{
my($self, $ticket) = @_;
my $proxy = $self->casConfig("ProxyService") ? "1" : "0";
my $service = $self->this_url(1);
$self->logMsg("Validating service ticket '$ticket' for service '$service'", $LOG_DEBUG);
my $url;
if ($proxy)
( run in 0.516 second using v1.01-cache-2.11-cpan-a5abf4f5562 )