Login: Callback nur bauen bei GET-Request und wenn action vorhanden
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Fri, 25 Oct 2019 13:07:46 +0000 (15:07 +0200)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Fri, 6 Dec 2019 15:26:58 +0000 (16:26 +0100)
SL/Dispatcher.pm

index af9bdc0..16337b2 100644 (file)
@@ -399,12 +399,18 @@ sub handle_login_error {
 
   my $redirect_url = "controller.pl?action=${action}";
 
-  if ($action =~ m/LoginScreen\/user_login/) {
+  if (   $action =~ m/LoginScreen\/user_login/
+      && $params{action}
+      && 'get' eq lc($ENV{REQUEST_METHOD})
+  ) {
+
     require SL::Controller::Base;
     my $controller = SL::Controller::Base->new;
 
     delete $params{error};
+    delete $params{routing_type};
     delete @{ $::form }{ grep { m/^\{AUTH\}/ } keys %{ $::form } };
+
     my $callback   = $controller->url_for(%params, %{$::form});
     $redirect_url .= '&callback=' . uri_encode($callback);
   }