Bonjour,
J'effectue un projet perso et je rencontre un soucis lors de l'obtention d'un token JWT via API pour connexion à mon application(APP de gestion de collection exemple: Livre)
Pour cette connexion j'effectue tout d'abord un get pour recuperer le jeton CSRF afin d'envoyer ma requête POST pour obtenir un JWT.
Sur POSTMAN les requetes fonctionnent.

Le get s'effectue et je récupère le token CSRF ensuite j'envoie via la fonction HTTPFORMULAIREENVOIE ma requête contenant (USERNAME,PASSWORD,CSRF_TOKEN) et une erreur ressort "CSFR token session is missing"

quand on analyse la différence entre Postmann et windev mobile via WIRESHARK l'on se rend compte que l'entete n'est pas bonne elle ne contient pas le cookie de session.

hors je ne vois pas comment paramétrer le cookie de session dans cette fonction pour envoyer le formulaire.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
cMaRequête	est un httpRequête
cMaRéponse	est un httpRéponse
cMaRequête2	est un httpRequête
cMaRéponse2	est un httpRéponse
cMaRequête2.Méthode	= httpPost
cMaRequête.Méthode	= httpGet
cMaRequête.URL		= "http://10.10.0.211:5000/connexion?client=app"
cMaRéponse			= HTTPEnvoie(cMaRequête)
csrf_tokenRep est un JSON
csrf_tokenRep = AnsiVersUnicode(cMaRéponse.Contenu)
sCsrf		est une chaîne ANSI	= csrf_tokenRep.csrf_token
sCsession	est une chaîne= (cMaRéponse.Entête["Set-cookie"])
Trace(sCsession) 
Cookie	est une chaîne
i		est un entier
j		est un entier
Cookie	= ""
i		= PositionOccurrence(sCsession,"session=",1)
j		= PositionOccurrence(sCsession,"; HttpOnly;",1)
longueur est un entier = j-i
Cookie=Milieu(sCsession,i+8,longueur-8)
sParam1	est une chaîne ANSI	= "Maxime"
sParam2	est une chaîne ANSI	= "azertyuiop"
Info(sCsrf)
HTTPCréeFormulaire("connexion")
HTTPAjouteParamètre("connexion","pseudo",sParam1)
HTTPAjouteParamètre("connexion","password",sParam2)
HTTPAjouteParamètre("connexion","csrf_token",sCsrf)
Trace("etape 2")
HTTPEnvoieFormulaire("connexion", "http:/10.10.0.211:5000/connexion?client=app",httpPost,"",sCsession+"<RC>","multipart/form-data")
Trace(AnsiVersUnicode(HTTPDonneRésultat((httpRésultat))))
Voici le code que j'utilise actuellement, je stock la variable de Set-Cookie dans "Csession" et le cookie dans "Cookie"
je recois une erreur 400 evidemment.

Toutes aide serait la bienvenue je ne trouve pas d'information à ce sujet.

PS: J'attend toujours une réponse du support technique PCSOFT

Merci à vous.