2017-04-13 21:36:25 +02:00
|
|
|
package Lemonldap::NG::Portal::UserDB::CAS;
|
|
|
|
|
|
|
|
use strict;
|
|
|
|
use Mouse;
|
|
|
|
use Lemonldap::NG::Portal::Main::Constants qw(
|
|
|
|
PE_ERROR
|
|
|
|
PE_OK
|
|
|
|
);
|
|
|
|
|
2021-04-01 23:07:58 +02:00
|
|
|
our $VERSION = '2.0.12';
|
2017-04-13 21:36:25 +02:00
|
|
|
|
|
|
|
extends 'Lemonldap::NG::Common::Module';
|
|
|
|
|
|
|
|
# INITIALIZATION
|
|
|
|
|
|
|
|
sub init {
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
# RUNNING METHODS
|
|
|
|
|
|
|
|
sub getUser {
|
|
|
|
my ( $self, $req ) = @_;
|
|
|
|
return PE_OK;
|
|
|
|
}
|
|
|
|
|
2020-12-22 15:17:23 +01:00
|
|
|
sub findUser {
|
|
|
|
my ( $self, $req ) = @_;
|
2021-01-02 18:58:40 +01:00
|
|
|
|
|
|
|
# Nothing to do here
|
2020-12-22 15:17:23 +01:00
|
|
|
return PE_OK;
|
|
|
|
}
|
|
|
|
|
2017-04-13 21:36:25 +02:00
|
|
|
# Get all required attributes
|
|
|
|
sub setSessionInfo {
|
|
|
|
my ( $self, $req ) = @_;
|
|
|
|
my $srv;
|
2018-07-05 22:56:16 +02:00
|
|
|
unless ( $srv = $req->data->{_casSrvCurrent} ) {
|
2017-04-13 21:36:25 +02:00
|
|
|
$self->logger->error('UserDB::CAS must be used with Auth::CAS');
|
|
|
|
return PE_ERROR;
|
|
|
|
}
|
|
|
|
my %ev = (
|
2018-06-26 22:01:56 +02:00
|
|
|
%{ $self->conf->{casSrvMetaDataExportedVars}->{$srv} || {} },
|
2017-04-13 21:36:25 +02:00
|
|
|
%{ $self->conf->{exportedVars} }
|
|
|
|
);
|
|
|
|
foreach ( keys %ev ) {
|
2018-07-05 22:56:16 +02:00
|
|
|
$req->{sessionInfo}->{$_} = $req->data->{casAttrs}->{$_};
|
2017-04-13 21:36:25 +02:00
|
|
|
}
|
2021-04-01 23:07:58 +02:00
|
|
|
|
|
|
|
return PE_OK;
|
2017-04-13 21:36:25 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
# Does nothing
|
|
|
|
sub setGroups {
|
2021-04-01 23:07:58 +02:00
|
|
|
return PE_OK;
|
2017-04-13 21:36:25 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
1;
|