diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/Engines/Default.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/Engines/Default.pm index ac662aa0d..8b3c71096 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/Engines/Default.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/Engines/Default.pm @@ -307,8 +307,11 @@ sub _displayRegister { [] ]; } - my $_2fDevices = eval { from_json( $req->userData->{_2fDevices}, - { allow_nonref => 1 } ); }; + my $_2fDevices = + $req->userData->{_2fDevices} + ? eval { from_json( $req->userData->{_2fDevices}, + { allow_nonref => 1 } ); } + : undef; unless ($_2fDevices) { $self->logger->debug("No 2F Device found"); diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Run.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Run.pm index 340682000..b530cd06d 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Run.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Run.pm @@ -725,16 +725,18 @@ sub sendHtml { # Set authorized URL for POST my $csp = $self->csp . "form-action 'self'"; if ( my $url = $req->urldc ) { - $self->logger->debug("Required urldc : $url"); + $self->logger->debug("Required urldc : $url"); $url =~ s#(https?://[^/]+).*#$1#; $self->logger->debug("Set CSP form-action with urldc : $url"); - $csp .= " $url"; + $csp .= " $url"; } my $url = $args{params}->{URL}; - $self->logger->debug("Required Params URL : $url"); - if ( defined $url and $url =~ s#(https?://[^/]+).*#$1# ) { - $self->logger->debug("Set CSP form-action with Params URL : $url"); - $csp .= " $url"; + if ( defined $url ) { + $self->logger->debug("Required Params URL : $url"); + if ( $url =~ s#(https?://[^/]+).*#$1# ) { + $self->logger->debug("Set CSP form-action with Params URL : $url"); + $csp .= " $url"; + } } $csp .= ';';