Projet

Général

Profil

Actions

Anomalie #17480

ouvert

Redirection en boucle car mauvaise gestion d’erreur

Ajouté par Quentin RIBAC il y a plus de 3 ans. Mis à jour il y a environ un mois.

Statut:
R&D - A étudier
Priorité:
2-Sérieux
Assigné à:
-
Version cible:
-
Début:
17/06/2021
Echéance:

Description

Maarch Courrier develop & 21.03

Si le fichier de configuration config.json est introuvable, ou illisible pour des problèmes de droits, l’API devrait renvoyer un message d’erreur clair, or ce n’est pas toujours le cas.

Dans le cas où l’application est installée dans un dossier, par exemple /var/www/html/MaarchCourrier/, et que custom/custom.json contient :

{
  [
    "id": "nom_client",
    "uri": null,
    "path": "MaarchCourrier"
  ]
}

Dans ce cas précis on obtient une redirection en boucle, vers https://mon-serveur.fr/MaarchCourrier/MaarchCourrier/MaarchCourrier/...

Il serait utile de corriger ce problème afin de permettre aux intégrateurs de mieux diagnostiquer les erreurs.

Correction possible :

diff --git a/src/core/controllers/AuthenticationController.php b/src/core/controllers/AuthenticationController.php
index fe63275807..3445b055bb 100755
--- a/src/core/controllers/AuthenticationController.php
+++ b/src/core/controllers/AuthenticationController.php
@@ -116,7 +116,11 @@ class AuthenticationController
         $url = null;
         if (!empty($jsonFile[0]['path'])) {
             $coreUrl = UrlController::getCoreUrl();
-            $url = $coreUrl . $jsonFile[0]['path'] . "/dist/index.html";
+            $url = rtrim($coreUrl, '/').'/';
+            if (basename($coreUrl) != trim($jsonFile[0]['path'], '/')) {
+                $url .= trim($jsonFile[0]['path'], '/').'/';
+            }
+            $url .= 'dist/index.html';
         } elseif (!empty($jsonFile[0]['uri'])) {
             $url = $jsonFile[0]['uri'] . "/dist/index.html";
         }

Ici on n’ajouterait la variable path du custom seulement si elle est différente du chemin de la racine de l’application, évitant ainsi de rediriger vers /MaarchCourrier/MaarchCourrier/.

Actions

Formats disponibles : Atom PDF