Fix update session (#2129)

This commit is contained in:
Christophe Maudoux 2020-04-06 23:28:01 +02:00
parent fc9de124c1
commit 9e84447d2d
4 changed files with 8 additions and 6 deletions

View File

@ -540,6 +540,7 @@ sub updateSession {
# Update sessionInfo data
## sessionInfo updated if $id defined : quite strange !!
## See https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/issues/430
$self->logger->debug("Update session $id");
foreach ( keys %$infos ) {
$self->logger->debug("Update sessionInfo $_");
$self->_dump( $infos->{$_} );

View File

@ -78,7 +78,6 @@ sub _redirect {
sub _verify {
my ( $self, $req ) = @_;
my $checkLogins = $req->param('checkLogins');
$self->logger->debug("checkLogins set") if ($checkLogins);
@ -135,13 +134,15 @@ sub _verify {
$req->error($error);
return $self->p->do( $req, [ sub { $error } ] );
}
$self->logger->debug("Deduplicate groups...");
$self->logger->debug("De-duplicate groups...");
$req->sessionInfo->{groups} = join $self->conf->{multiValuesSeparator},
keys %{ {
map { $_ => 1 } split $self->conf->{multiValuesSeparator},
$req->sessionInfo->{groups}
}
};
delete $req->sessionInfo->{_session_kind}
if ( $self->conf->{tokenUseGlobalStorage} );
$self->p->updateSession( $req, $req->sessionInfo );
}

View File

@ -23,7 +23,7 @@ close F;
my $client = LLNG::Manager::Test->new( {
ini => {
logLevel => 'debug',
logLevel => 'error',
authentication => 'Demo',
userDB => 'Same',
loginHistoryEnabled => 0,

View File

@ -259,7 +259,7 @@ JjTJecOOS+88fK8qL1TrYv5rapIdqUI7aQ==
qr%<input type="hidden" name="reference1x1" value="RemoveSF-(\d{10})">%,
'Notification reference found'
) or print STDERR Dumper( $res->[2]->[0] );
ok( time() + 120 <= $1 && $1 <= time() + 120, 'Right reference found' )
ok( time() + 120 <= $1 && $1 <= time() + 125, 'Right reference found' )
or print STDERR Dumper( $res->[2]->[0] );
ok(
$res->[2]->[0] =~
@ -287,14 +287,14 @@ qr%<p class="notifText">1 expired second factor\(s\) has/have been removed!</p>%
qr%<input type="hidden" name="reference1x1" value="RemoveSF-(\d{10})">%,
'Notification reference found'
) or print STDERR Dumper( $res->[2]->[0] );
ok( time() + 120 <= $1 && $1 <= time() + 120, 'Right reference found' )
ok( time() + 120 <= $1 && $1 <= time() + 125, 'Right reference found' )
or print STDERR Dumper( $res->[2]->[0] );
ok(
$res->[2]->[0] =~
qr%<input type="hidden" name="reference1x2" value="RemoveSF-(\d{10})">%,
'Notification reference found'
) or print STDERR Dumper( $res->[2]->[0] );
ok( time() + 300 <= $1 && $1 <= time() + 300, 'Right reference found' )
ok( time() + 300 <= $1 && $1 <= time() + 305, 'Right reference found' )
or print STDERR Dumper( $res->[2]->[0] );
my @notifs =
( $res->[2]->[0] =~