PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → HttpRequete en WD16 me retourne 400 Bad Request
HttpRequete en WD16 me retourne 400 Bad Request
Débuté par Peter Pan, 21 juin 2018 09:13 - 2 réponses
Membre enregistré
2 messages
Posté le 21 juin 2018 - 09:13
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]
Posté le 21 juin 2018 - 11:26
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
Membre enregistré
2 messages
Posté le 21 juin 2018 - 17:08
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