Optimize url building (#1183)
This commit is contained in:
parent
9afc806342
commit
a44dd9b4f6
@ -3,6 +3,7 @@ package Lemonldap::NG::Portal::Auth::CAS;
|
|||||||
use strict;
|
use strict;
|
||||||
use Mouse;
|
use Mouse;
|
||||||
use URI::Escape;
|
use URI::Escape;
|
||||||
|
use Lemonldap::NG::Common::FormEncode;
|
||||||
use Lemonldap::NG::Portal::Main::Constants qw(
|
use Lemonldap::NG::Portal::Main::Constants qw(
|
||||||
PE_ERROR
|
PE_ERROR
|
||||||
PE_OK
|
PE_OK
|
||||||
@ -52,14 +53,14 @@ sub extractFormInfo {
|
|||||||
# TODO: create a CAS state session
|
# TODO: create a CAS state session
|
||||||
# Add request state parameters
|
# Add request state parameters
|
||||||
if ( $req->datas->{_url} ) {
|
if ( $req->datas->{_url} ) {
|
||||||
my $url_param = 'url=' . uri_escape( $req->datas->{_url} );
|
$local_url .= ( $local_url =~ /\?/ ? '&' : '?' )
|
||||||
$local_url .= ( $local_url =~ /\?/ ? '&' : '?' ) . $url_param;
|
. build_urlencoded( url => $req->datas->{_url} );
|
||||||
}
|
}
|
||||||
if ( $self->conf->{authChoiceParam}
|
if ( $self->conf->{authChoiceParam}
|
||||||
and my $tmp = $req->param( $self->conf->{authChoiceParam} ) )
|
and my $tmp = $req->param( $self->conf->{authChoiceParam} ) )
|
||||||
{
|
{
|
||||||
my $url_param = $self->conf->{authChoiceParam} . '=' . uri_escape($tmp);
|
$local_url .= ( $local_url =~ /\?/ ? '&' : '?' )
|
||||||
$local_url .= ( $local_url =~ /\?/ ? '&' : '?' ) . $url_param;
|
. build_urlencoded( $self->conf->{authChoiceParam} => $tmp );
|
||||||
}
|
}
|
||||||
|
|
||||||
# Forward hidden fields
|
# Forward hidden fields
|
||||||
@ -68,13 +69,8 @@ sub extractFormInfo {
|
|||||||
{
|
{
|
||||||
|
|
||||||
$self->logger->debug("Add hidden values to CAS redirect URL\n");
|
$self->logger->debug("Add hidden values to CAS redirect URL\n");
|
||||||
|
$local_url .= ( $local_url =~ /\?/ ? '&' : '?' )
|
||||||
foreach ( keys %{ $req->{portalHiddenFormValues} } ) {
|
. build_urlencoded( %{ $req->{portalHiddenFormValues} } );
|
||||||
$local_url .=
|
|
||||||
( $local_url =~ /\?/ ? '&' : '?' )
|
|
||||||
. $_ . '='
|
|
||||||
. uri_escape( $req->{portalHiddenFormValues}->{$_} );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $self->proxy ) {
|
if ( $self->proxy ) {
|
||||||
|
Loading…
Reference in New Issue
Block a user