Apache2-AuthCASpbh
view release on metacpan or search on metacpan
lib/Apache2/AuthCASpbh/Authn.pm view on Meta::CPAN
$_log->l($debug_level, "overriding service to $service");
}
else {
$service = $r->construct_url() . ($qs_nt ? "?$qs_nt" : '');
$_log->l($debug_level, "set service to $service");
};
$service = Apache2::Util::escape_path($service, $r->pool);
my $st = $q->param('ticket');
if ($st) {
my $ua = LWP::UserAgent->new(timeout => 10, keep_alive => 1);
my $proxy_allow = cfg_value($dir_cfg, 'ProxyAllow');
my $proxy_allow_re = cfg_value($dir_cfg, 'ProxyAllowRE');
my $validate_url = cfg_value($dir_cfg, 'ServerURL') .
(defined($proxy_allow) || defined($proxy_allow_re) ?
cfg_value($dir_cfg, 'ProxyValidatePath') :
cfg_value($dir_cfg, 'ServiceValidatePath')) .
"?service=$service&ticket=$st";
$_log->l($debug_level, "validating via URL $validate_url");
lib/Apache2/AuthCASpbh/UserAgent.pm view on Meta::CPAN
}
NO_SET_COOKIE:
my $response = $self->SUPER::request($request, $arg, $size, $previous);
if ($response->code() == 302 && $response->header('Location') =~ $self->{cas_login_url}) {
$_log->l($debug_level, "request redirected to CAS login URL $self->{cas_login_url}");
if (!exists($self->{cas_ua})) {
$self->{cas_ua} = LWP::UserAgent->new(timeout => 10, keep_alive => 1);
}
my $qs = $response->header('Location'); $qs =~ s/^[^\?]+\?//;
my $q = CGI->new($self->{apache_r}, \$qs);
my $service = $q->param('service');
return $_log->l('error', 'no service found in CAS login redirect')
unless defined($service);
my $pgt = $self->{apache_r}->pnotes("cas_pgt");
( run in 1.533 second using v1.01-cache-2.11-cpan-df04353d9ac )