isogeo / isogeo-plugin-qgis

Isogeo plugin for QGIS
http://help.isogeo.com/qgis/
GNU General Public License v3.0
16 stars 5 forks source link

[ApiRequester] Éviter les boucles infinies d'authentification à l'API Isogeo #419

Closed SimonSAMPERE closed 2 years ago

SimonSAMPERE commented 2 years ago

Actuellement, si l'authentification à l'API réussie (api.isogeo.com) mais qu'une erreur 204 est renvoyé suite à une requête de recherche (v1.api.isogeo.com), le plugin va lancer une autre demande d'authentification qui va réussir à nouveau puis une faire une autre requête de recherche qui va échouer et ainsi de suite dans une boucle infinie.

Ce comportement a été observé dans le cas suivant : le fichier config.json est rempli de sorte à pointer vers l'APi en PROD et le fichier quicksearches.json est rempli de sorte à pointer vers l'API en QA (ou inversement). Ainsi, à l'ouverture du plugin, la requête d'authentification faite à l'API en prod réussie le plugin obtient un token valide pour l'API en prod. Mais lorsqu'il fait une requête à l'URL de la recherche par défaut qui point vers l'API en QA, le code 204 est renvoyé car le token n'est pas valide pour l'API en QA. Il fait donc une nouvelle requête d’authentification à l'API en prod puis une nouvelle requête de recherche à l'API en QA qui renvoie un code 204 et ainsi de suite dans une boucle infini. Pendant ce temps, l'interface du plugin reste grisée.

Pour corriger ce comportement, 2 modifications :