Projet

Général

Profil

Development #48947

ne pas logguer en erreur "The request's session was deleted before the request completed..."

Ajouté par Frédéric Péters il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
27 novembre 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Mais c'est SuspiciousOperation générique, pas sûr de pouvoir cibler ça :

                        try:
                            request.session.save()
                        except UpdateError:
                            raise SuspiciousOperation(
                                "The request's session was deleted before the " 
                                "request completed. The user may have logged " 
                                "out in a concurrent request, for example." 
                            )

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

Je ne le rangerai pas avec les autres, parce que basiquement on fait un truc tordu, pour le dernier évènement de ce genre les logs pour l'IP autour de cette horaire sur passerelle donne :

bdauvergne@cutm-ea-dev-publik:/var/log/nginx$ sudo zgrep 78.121.56.161 *.log.1 | grep 2020:11:42 | grep -v static | grep passerelle
passerelle-access.log.1:78.121.56.161 - - [27/Nov/2020:11:42:28 +0100] "GET /manage/menu.json?callback=jQuery110208982466491489354_1606473748153&_=1606473748154 HTTP/1.1" 302 0 "https://agents-moncompte.cutm-ea-dev-publik.nfrance.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" "passerelle-moncompte.cutm-ea-dev-publik.nfrance.com" [0.065 ms]
passerelle-access.log.1:78.121.56.161 - - [27/Nov/2020:11:42:28 +0100] "GET /login/?next=/manage/menu.json%3Fcallback%3DjQuery110208982466491489354_1606473748153%26_%3D1606473748154 HTTP/1.1" 302 0 "https://agents-moncompte.cutm-ea-dev-publik.nfrance.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" "passerelle-moncompte.cutm-ea-dev-publik.nfrance.com" [0.015 ms]
passerelle-access.log.1:78.121.56.161 - - [27/Nov/2020:11:42:28 +0100] "GET /accounts/mellon/login/?next=/manage/menu.json%3Fcallback%3DjQuery110208982466491489354_1606473748153%26_%3D1606473748154 HTTP/1.1" 302 0 "https://agents-moncompte.cutm-ea-dev-publik.nfrance.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" "passerelle-moncompte.cutm-ea-dev-publik.nfrance.com" [0.268 ms]
passerelle-access.log.1:78.121.56.161 - - [27/Nov/2020:11:42:30 +0100] "GET /accounts/mellon/login/?SAMLart=AAQAAPd5cLIidzKuJ0H3c%2Bji4biThW49NjU3RTYyNTQ3QkJGOEQ5MjE2M0E%3D&RelayState=8e02e26c-cd37-40a4-8fb0-e675e8bc42ec HTTP/1.1" 499 0 "https://agents-moncompte.cutm-ea-dev-publik.nfrance.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" "passerelle-moncompte.cutm-ea-dev-publik.nfrance.com" [0.216 ms]
passerelle-access.log.1:78.121.56.161 - - [27/Nov/2020:11:42:30 +0100] "GET /manage/menu.json?callback=jQuery110205691467957570429_1606473750472&_=1606473750473 HTTP/1.1" 302 0 "https://demarches-moncompte.cutm-ea-dev-publik.nfrance.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" "passerelle-moncompte.cutm-ea-dev-publik.nfrance.com" [0.155 ms]
passerelle-access.log.1:78.121.56.161 - - [27/Nov/2020:11:42:31 +0100] "GET /login/?next=/manage/menu.json%3Fcallback%3DjQuery110205691467957570429_1606473750472%26_%3D1606473750473 HTTP/1.1" 302 0 "https://demarches-moncompte.cutm-ea-dev-publik.nfrance.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" "passerelle-moncompte.cutm-ea-dev-publik.nfrance.com" [0.119 ms]
passerelle-access.log.1:78.121.56.161 - - [27/Nov/2020:11:42:32 +0100] "GET /accounts/mellon/login/?next=/manage/menu.json%3Fcallback%3DjQuery110205691467957570429_1606473750472%26_%3D1606473750473 HTTP/1.1" 400 77081 "https://demarches-moncompte.cutm-ea-dev-publik.nfrance.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" "passerelle-moncompte.cutm-ea-dev-publik.nfrance.com" [1.010 ms]

On fait deux accès à menu.json dans le même navigateur à peu d'intervalle, le premier accès provoque un SSO sur passerelle, au cours du SSO une nouvelle session est créée et la session courante "flushé", lors du deuxième accès ça provoque un appel à /accounts/mellon/login/ avec le mauvais cookie de session et il se voit enlever sa session sous ses pieds.

Coté appelé, le problème est dans mellon il faut juste arrêter d'utiliser la session pour sauvegarder les informations d'état, ce serait plus stable avec des cookies; au retour de SSO si finalement une session authentifiée est déjà ouverte (il y a eu un login concurrent) il faut ignorer la réponse et rediriger directement sur l'URL d'origine, évitons de créer des sessions en cascade.

Coté appelant soit on a deux pages de portail-agent/backoffice ouvertes rapidement dans deux onglets différents soit un truc déconne dans les appels ajax aux menu.json.

#2

Mis à jour par Frédéric Péters il y a plus de 3 ans

Mais ça arrive aussi en front, sans rapport menu.json. (exemple en commentaire privé).

Formats disponibles : Atom PDF