diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/SAML.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/SAML.pm index baaf36f08..dd44a6f15 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/SAML.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/SAML.pm @@ -811,7 +811,7 @@ sub extractFormInfo { my ( $idp, $idp_cookie ) = $self->getIDP($req); # Get confirmation flag - my $confirm_flag = $req->param("confirm"); + my $confirm_flag = $req->param("confirm") // 0; # If confirmation is -1 from resolved IDP screen, # or IDP was not resolve, let the user choose its IDP diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/SAML.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/SAML.pm index eb3b86e0d..95ffb9b11 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/SAML.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/SAML.pm @@ -47,7 +47,7 @@ sub init { my $saml_sso_art_url_ret = $self->getMetaDataURL( "samlIDPSSODescriptorSingleSignOnServiceHTTPArtifact", 2 ); $self->ssoUrlRe( -qr/^(\Q$saml_sso_soap_url\E|\Q$saml_sso_soap_url_ret\E|\Q$saml_sso_get_url\E|\Q$saml_sso_get_url_ret\E|\Q$saml_sso_post_url\E|\Q$saml_sso_post_url_ret\E|\Q$saml_sso_art_url\E|\Q$saml_sso_art_url_ret\E)$/i +qr/^\Q($saml_sso_soap_url|$saml_sso_soap_url_ret|$saml_sso_get_url|$saml_sso_get_url_ret|$saml_sso_post_url|$saml_sso_post_url_ret|$saml_sso_art_url|$saml_sso_art_url_ret)\E$/i ); my $saml_slo_soap_url = diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SAML.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SAML.pm index b3d7eb6d7..1e0edb78f 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SAML.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SAML.pm @@ -134,7 +134,8 @@ sub loadService { # Create Lasso server with service metadata my $server = $self->createServer( $service_metadata->serviceToXML( - $self->conf->{templateDir} . "/common/saml2-metadata.tpl", $self->conf + $self->conf->{templateDir} . "/common/saml2-metadata.tpl", + $self->conf ), $self->conf->{samlServicePrivateKeySig}, $self->conf->{samlServicePrivateKeySigPwd}, @@ -1420,9 +1421,9 @@ sub getMetaDataURL { $index = 3 unless defined $index; $full = 0 unless defined $full; - return unless defined $self->conf->{$key}; + return '' unless defined $self->conf->{$key}; - my $url = ( split( /;/, $self->conf->{$key} ) )[$index]; + my $url = ( split( /;/, $self->conf->{$key} ) )[$index] || ''; # Get portal value my $portal = $self->conf->{portal};