Development #39256
lingo: éviter le caractère ":" dans l'URL de retour
0%
Description
PayFiP n'aime pas ça (#39217), on peut tenter un double encodage base64url, en caractères spéciaux ça ne génère plus que que - et _; ou alors on tente le coup d'utiliser '~' ou '.'.
Fichiers
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Fichier 0001-lingo-remove-character-from-return-url-39256.patch 0001-lingo-remove-character-from-return-url-39256.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Voilà, remplacement des deux-points par des points, c'est le caractère qui a été choisi pour la norme JWT donc je pense que ça passe certainement mieux.
Mis à jour par Nicolas Roche il y a environ 4 ans
Je n'arrive pas à comprendre pourquoi il reste 3 occurrences des deux appels surchargés (et si ça pose problème ou non).
$ git grep -n 'signing\.load' combo/public/views.py:149: context.update(signing.loads(request.GET['ctx'])) ## via tests/test_public.py $ git grep -n 'signing\.dumps' combo/apps/lingo/views.py:77:'transaction_signature': signing.dumps(transaction_id) ## marche aussi avec signing_dumps() combo/public/templatetags/combo.py:253: return signing.dumps(obj)
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
Nicolas Roche a écrit :
Je n'arrive pas à comprendre pourquoi il reste 3 occurrences des deux appels surchargés (et si ça pose problème ou non).
[...]
$ git grep -n 'signing\.load' combo/public/views.py:149: context.update(signing.loads(request.GET['ctx'])) ## via tests/test_public.py
Celui là n'est pas dans lingo.
$ git grep -n 'signing\.dumps' combo/apps/lingo/views.py:77:'transaction_signature': signing.dumps(transaction_id) ## marche aussi avec signing_dumps()
Oui j'ai raté celui là, mais effectivement le test ne vérifie pas que l'URL ne contient pas de ':' donc ça passait quand même.
combo/public/templatetags/combo.py:253: return signing.dumps(obj)
Idem pas dans lingo, ça ne concerne pas ce ticket.
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Fichier 0001-lingo-remove-character-from-return-url-39256.patch 0001-lingo-remove-character-from-return-url-39256.patch ajouté
Corrigé le signing.dumps raté et j'ai ajouté une vérification que le caractère ':' n'est pas présent dans transaction_id.
Mis à jour par Emmanuel Cazenave il y a environ 4 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 6ab914d7146c873af8071e0ea7b536582e59838f Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Jan 24 18:36:55 2020 +0100 lingo: remove ':' character from return url (#39256)
Mis à jour par Frédéric Péters il y a environ 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
lingo: remove ':' character from return url (#39256)