fixe #314458 - add url parameter in URL of CAS portal redirection
This commit is contained in:
parent
bc8d00970c
commit
e2d47ce982
|
@ -9,7 +9,7 @@ use strict;
|
||||||
use Lemonldap::NG::Portal::Simple;
|
use Lemonldap::NG::Portal::Simple;
|
||||||
use AuthCAS;
|
use AuthCAS;
|
||||||
|
|
||||||
our $VERSION = '0.11';
|
our $VERSION = '0.12';
|
||||||
|
|
||||||
## @apmethod int authInit()
|
## @apmethod int authInit()
|
||||||
# Does nothing.
|
# Does nothing.
|
||||||
|
@ -28,13 +28,23 @@ sub extractFormInfo {
|
||||||
casUrl => $self->{CAS_url},
|
casUrl => $self->{CAS_url},
|
||||||
CAFile => $self->{CAS_CAFile},
|
CAFile => $self->{CAS_CAFile},
|
||||||
);
|
);
|
||||||
my $login_url = $cas->getServerLoginURL( $self->{CAS_loginUrl} );
|
|
||||||
|
my $casLoginUrl = $self->{CAS_loginUrl};
|
||||||
|
my $casValidationUrl = $self->{CAS_validationUrl};
|
||||||
|
if ($self->{_url})
|
||||||
|
{
|
||||||
|
my $url_param = 'url=' . $self->{_url};
|
||||||
|
$casLoginUrl .= ( $casLoginUrl =~ /\?/ ? '&' : '?' ) . $url_param;
|
||||||
|
$casValidationUrl .= ( $casValidationUrl =~ /\?/ ? '&' : '?' ) . $url_param;
|
||||||
|
}
|
||||||
|
|
||||||
|
my $login_url = $cas->getServerLoginURL( $casLoginUrl );
|
||||||
|
|
||||||
my $ticket = $self->param('ticket');
|
my $ticket = $self->param('ticket');
|
||||||
|
|
||||||
# Unless a ticket has been found, we redirect the user
|
# Unless a ticket has been found, we redirect the user
|
||||||
unless ( $self->{user} =
|
unless ( $self->{user} =
|
||||||
$cas->validateST( $self->{CAS_validationUrl}, $ticket ) )
|
$cas->validateST( $casValidationUrl, $ticket ) )
|
||||||
{
|
{
|
||||||
print $self->redirect(
|
print $self->redirect(
|
||||||
-uri => $login_url,
|
-uri => $login_url,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user