Development #48687
Encoder l'email dans les paramètres GET du connecteur Solis afi mss
0%
Description
cf #48674
+ est un caractère réservé, il faut encoder l'email : bmallet+20112020@entrouvert.com → bmallet%2B20112020@entrouvert.com
Fichiers
Historique
Mis à jour par Nicolas Roche il y a plus de 3 ans
- Sujet changé de Encoder les paramètres GET du connecteur Solis afi mss à Encoder l'email dans les paramètres GET du connecteur Solis afi mss
Mis à jour par Nicolas Roche il y a plus de 3 ans
- Fichier 0001-solis_afi_mss-encode-email-on-GET-parameters-48687.patch 0001-solis_afi_mss-encode-email-on-GET-parameters-48687.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Thomas Noël il y a plus de 3 ans
mais urlencode({'adresseMail': email}) ça génère une string, je comprends pas comment ça marche là
Mis à jour par Emmanuel Cazenave il y a plus de 3 ans
Et de tout façon requests est censé assurer l'encodage automatiquement.
Mis à jour par Thomas Noël il y a plus de 3 ans
Emmanuel Cazenave a écrit :
Et de tout façon requests est censé assurer l'encodage automatiquement.
Clair. Le bogue n'est pas ici. J'imagine que c'est l'appel original wcs ou combo qui n'est pas encodé, et "bmallet+2020" est reçu par Passerelle comme "bmallet 2020"
Mis à jour par Nicolas Roche il y a plus de 3 ans
Thomas :
https://fr.python-requests.org/en/latest/api.html?highlight=params#requests.Request.params
params: Dictionary or byte of querystring data to attach to the Request.
Manu, sans le patch et avec cette requête au connecteur :
$ curl -v 'https://passerelle.dev.publik.love/solis-afi-mss/test/family?email=bmallet+20112020@entrouvert.com'
dans les logs de passerelle, je vois bien l'arobase d'encodé mais pas le plus :
request_url: https://msppsolis.mon-application.fr/solisAPI/afi/agent/rechercherParEmail/?adresseMail=bmallet+20112020%40entrouvert.com
J'imagine ... "bmallet+2020" est reçu par Passerelle comme "bmallet 2020"
Peut-être, mais je reproduis quand même la même erreur avec les requêtes curl (comme celle donnée ci-dessus), encodée ou non, et qui tapent directement sur le serveur Solis ou non.
(j'entends par là que le bug pourrait tout aussi bien être sur le serveur Solis)
Solis API MSS AFI - Erreur: L'adresse mail n'appartient \u00e0 aucun agent"
Mis à jour par Thomas Noël il y a plus de 3 ans
Nicolas Roche a écrit :
Thomas :
https://fr.python-requests.org/en/latest/api.html?highlight=params#requests.Request.paramsparams: Dictionary or byte of querystring data to attach to the Request.
Manu, sans le patch et avec cette requête au connecteur :
C'est cette requête qui est fausse, c'est là que tu dois encoder. Là tu envoies "email=bmallet+20112020@entrouvert.com" sans encoder le +, qui est reçu par Passerelle comme une espace.
Mis à jour par Nicolas Roche il y a plus de 3 ans
- Statut changé de Solution proposée à Rejeté
C'est cette requête qui est fausse,
Oui je confirme, ma requête curl fait que passerelle reçoit un espace à la place du plus.