LibreCat::Auth::SSO::CAS - implementation of LibreCat::Auth::SSO for CAS
#in your app.psgi
builder {
mount '/auth/cas' => LibreCat::Auth::SSO::CAS->new(
session_key => "auth_sso",
authorization_url => "/auth/cas/callback"
)->to_app;
mount "/auth/cas/callback" => sub {
my $env = shift;
my $session = Plack::Session->new($env);
my $auth_sso = $session->get('auth_sso');
#not authenticated yet
unless($auth_sso){
return [403,["Content-Type" => "text/html"],["forbidden"]];
}
#process auth_sso (white list, roles ..)
[200,["Content-Type" => "text/html"],["logged in!"]];
};
};
This is an implementation of LibreCat::Auth::SSO to authenticate against a CAS server.
It inherits all configuration options from its parent.
base url of the CAS service