lemonldap-ng/lemonldap-ng-portal/t/CasHookPlugin.pm

38 lines
734 B
Perl

package t::CasHookPlugin;
use Mouse;
extends 'Lemonldap::NG::Portal::Main::Plugin';
use constant hook => {
casGotRequest => 'filterService',
'casGenerateServiceTicket' => 'changeRedirectUrl',
'casGenerateValidateResponse' => 'genResponse',
};
sub filterService {
my ( $self, $req, $cas_request ) = @_;
if ( $cas_request->{service} eq "http://auth.sp.com/" ) {
return 0;
}
else {
return 999;
}
}
sub changeRedirectUrl {
my ( $self, $req, $cas_request, $app, $Sinfos ) = @_;
$cas_request->{service} .= "?hooked=1";
return 0;
}
sub genResponse {
my ( $self, $req, $username, $attributes ) = @_;
$attributes->{hooked} = 1;
return 0;
}
1;