Projet

Général

Profil

Development #39256

lingo: éviter le caractère ":" dans l'URL de retour

Ajouté par Benjamin Dauvergne il y a environ 4 ans. Mis à jour il y a environ 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
24 janvier 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

Révision 6ab914d7 (diff)
Ajouté par Benjamin Dauvergne il y a environ 4 ans

lingo: remove ':' character from return url (#39256)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

  • Assigné à mis à Benjamin Dauvergne
#2

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

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.

#3

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

  • Projet changé de Combo à Lingo
#5

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)

#6

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.

#7

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

Corrigé le signing.dumps raté et j'ai ajouté une vérification que le caractère ':' n'est pas présent dans transaction_id.

#8

Mis à jour par Emmanuel Cazenave il y a environ 4 ans

  • Statut changé de Solution proposée à Solution validée
#9

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)
#10

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

Formats disponibles : Atom PDF