Development #67277
logguer des précisions sur « Le paramètre « code » est arrivé à expiration, ou bien l’utilisateur s’est déconnecté »
0%
Description
En tant qu'usager je reçois :
L’authentification sur xyz a échoué avec l’erreur « Le paramètre « code » est arrivé à expiration, ou bien l’utilisateur s’est déconnecté », vous pouvez signaler le numéro d’erreur r:7FF98430E128 à un administrateur.
Je me passe l'info en tant qu'admin, je greppe :
messages:Jul 12 09:25:53 authentic uwsgi[11005]: authentic2-multitenant WARNING connexion.xxx.com 77.109.104.152 - r:7FF98430E128 auth_oidc:token_endpoint returned HTTP error status https://xyz/ for 400 with content {'error': 'invalid_request', 'error_description': 'Le paramètre «\xa0code\xa0» est arrivé à expiration, ou bien l’utilisateur s’est déconnecté'}
côté code,
if not oidc_code.is_valid(): raise InvalidRequest(_('Parameter "code" has expired or user is disconnected'), client=client) [...] def is_valid(self): if self.expired < now(): return False if not self.session: return False if self.session.get('_auth_user_id') != str(self.user_id): return False return True
Et là j'aurais bien aimé savoir quel bout a posé problème; parce que par exemple une supposition était que le backend de session redis était différent entre deux serveurs, ce qui correspondrait pour moi au "if not self.session", mais c'est peut-être autre chose (l'heure du serveur ? un truc pas identifié ayant amené la troisième condition ?).
En l'état les logs ne m'aident pas.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a presque 2 ans
C'est un rejeu, on ne devrait pas afficher d'erreur, juste relancer l'authentification (au moins une fois).
Mis à jour par Benjamin Dauvergne il y a presque 2 ans
- Lié à Support #66545: auth_oidc: lors de la résolution de l'authorization_code si l'erreur est invalid_grant, relancer une requête d'authent nouvelle ajouté
Mis à jour par Benjamin Dauvergne il y a presque 2 ans
- Lié à Development #66544: idp_oidc: renvoyer le code d'erreur correct en cas d'authorization_code invalide ajouté
Mis à jour par Benjamin Dauvergne il y a presque 2 ans
- Assigné à mis à Benjamin Dauvergne
À la suite de #66544, séparer le cas d'erreur d'expiration du cas d'une session introuvable.
Mis à jour par Benjamin Dauvergne il y a presque 2 ans
- Fichier 0001-idp_oidc-adapt-error-message-for-expired-codes-67277.patch 0001-idp_oidc-adapt-error-message-for-expired-codes-67277.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Construit au desssus de #66544 (série de ticket sur les codes d'erreur renvoyés par le token_endpoint), il manquera encore un test qui couvrer tous les cas d'erreur à extraire du test existant.
Mis à jour par Benjamin Dauvergne il y a plus d'un an
- Fichier 0001-idp_oidc-adapt-error-message-for-expired-codes-67277.patch 0001-idp_oidc-adapt-error-message-for-expired-codes-67277.patch ajouté
Tests ajoutés dans #66533, ici j'ajoute juste un test sur les sessions expirés (et je sépare le client webtest utilisé pour le token_endpoint du client webtest pour l'usager, c'est plus logique et puis ça levait un bug parce que le cookie de session était supprimé parce que j'expirais temporairement la session, tests à éclater en plusieurs un jour).
Mis à jour par Serghei Mihai il y a plus d'un an
- Statut changé de Solution proposée à Solution validée
Mis à jour par Benjamin Dauvergne il y a plus d'un an
- Statut changé de Solution validée à Résolu (à déployer)
commit 4984ef33efe2f05699dd21935ed91318f3ec362c Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Jul 15 11:27:11 2022 +0200 idp_oidc: adapt error message for expired codes (#67277)
Mis à jour par Transition automatique il y a plus d'un an
- Statut changé de Résolu (à déployer) à Solution déployée
idp_oidc: adapt error message for expired codes (#67277)