PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV (earlier versions) → HttpRequete en WD16 me retourne 400 Bad Request
HttpRequete en WD16 me retourne 400 Bad Request
Started by Peter Pan, Jun., 21 2018 9:13 AM - 2 replies
Registered member
2 messages
Posted on June, 21 2018 - 9:13 AM
Bonjour,
Je n'arrive pas en WD16 à récupérer le jeton pour m'identifier sur le site de l'INSEE, les paramètres qui m'ont été fournis marchent, car je peux passer la commande POST en direct par le module Postman de Chrome, mais sous WinDev, j'ai beau tourner dans tous les sens j'arrive toujours à une erreur 400 Bad Request.

Je travaille en WinDev 16, merci de votre aide...

Au cas où je les aurais mal interprétés, les explications données par l'Insee sont les suivantes :
Voici les informations pour obtenir un token :

client_id=atec87
client_secret=xxx-xxx-xxx // (Je ne peut divulguer ce secret...)

Requete pour obtenir un token :

POST /auth/realms/elire/protocol/openid-connect/token HTTP/1.1
Host: beta.auth.insee.net
Content-Type: application/x-www-form-urlencoded

client_id=atec87&grant_type=password&password=MaireCom56041&client_secret=xxx-xxx-xxx&username=MaireCom56041


[code:wl]

[UrlApi = "https://beta.auth.insee.net/auth/realms/elire/protocol/openid-connect/token"; // HTTP/1.1
UserAgent = ""
ParamHeader ="Content-Type: application/x-www-form-urlencoded"
ParamPost ="client_id:atec87"+RC+"grant_type:password"+RC+"client_secret:xxx-xxx-xxx"+RC+"username:MaireCom56041"+RC+"password:MaireCom56041"
TypeMessage =""
NomUser =""
MdPasse =""
SI HTTPRequête(UrlApi,UserAgent,ParamHeader,ParamPost,TypeMessage,NomUser,MdPasse) = Vrai ALORS //Exécution de la requête d'obtention d'un jeton d'authentification
ResEntete = HTTPDonneRésultat(httpEntête) //Récupération de l'entête du résultat (Contient code 200 si OK ou sinon un code erreur)
TokenDsn = HTTPDonneRésultat(httpRésultat) //Récupération du jeton généré
Info(ResEntete+RC+TokenDsn)
SINON
Erreur("Erreur Requête Auth : " + RC + ErreurInfo(errComplet))
FIN


//Réponse de serveur ResEntete :
//HTTP/1.1 400 Bad Request
//Connection: keep-alive
//Content-Type: application/json
//Content-Length: 84
//Date: Wed, 20 Jun 2018 14:59:53 GMT

//Réponse de serveur TokenDsn :
/{"error":"invalid_request","error_description":"Missing form parameter: grant_type"}/code]
Posted on June, 21 2018 - 11:26 AM
Peter Pan a exposé le 21/06/2018 :
ParamPost
="client_id:atec87"+RC+"grant_type:password"+RC+"client_secret:xxx-xxx-xxx"+RC+"username:MaireCom56041"+RC+"password:MaireCom56041"


bonjour,

et si vous remplacez les RC par des & dans la chaine suivante :

ParamPost
="client_id:atec87"+RC+"grant_type:password"+RC+"client_secret:xxx-xxx-xxx"+RC+"username:MaireCom56041"+RC+"password:MaireCom56041"

--
Cordialement JeAn-PhI
Registered member
2 messages
Posted on June, 21 2018 - 5:08 PM
Merci de votre réponse, mais avec la chaine ParamPost
ParamPost ="client_id:atec87&grant_type:password&password:MaireCom56041&client_secret:xxx-xxx-xxx&username:MaireCom56041"

cela donne exactement la même erreur.
{"error":"invalid_request","error_description":"Missing form parameter: grant_type"}/code