Sie sollten Ihre Daten in einem POST-Request mit senden Content-Type Header-Wert gesetzt auf application/x-www-form-urlencodednicht json.
Ich habe immer noch das gleiche Problem, auch wenn ich den Inhaltstyp auf urlencoded eingestellt habe: curl -d ‘{“grant_type”: “password”, “username”: “user”, “password”: “pass”, ” client_id”: “login-app”}’ -H “Content-Type: application/x-www-form-urlencoded” -X POST “localhost:8082/auth/realms/ina-dev/protocol/openid-connect/…” {“error”:”invalid_request”,”error_description”:”Formularparameter fehlt: grant_type”}
– Ognjen Mišić
7. Februar 2019 um 10:18 Uhr
Da Sie json-Daten senden, sollten Sie die Syntax -d “param1=value1¶m2=value2” verwenden
– ipave
8. Februar 2019 um 16:31 Uhr
Das funktioniert nicht. Wie stellt man das ein -d Zeug im Postboten, @ipave?
Sie müssen eine POST-Anforderung mit den Parametern als URL-codierte Zeichenfolge im Anforderungstext senden.
FormData-Objekt funktioniert nicht.
Es gibt eine einfache Möglichkeit, Token zu erhalten, ohne eine Abfragezeichenfolge zu verwenden. const config = { headers: {‘Content-Type’: ‘application/x-www-form-urlencoded’} }; const formParameter = client_id=KEYCLOAK_CLIENT_ID&client_secret=KEYCLOAK_CLIENT_SECRET&grant_type=KEYCLOAK_API_GRANT_TYPE; axios.post (REQUEST_URL, Formularparameter, Konfiguration);
– Syam Sankar
15. Januar 2021 um 9:45 Uhr
Pavan J hat eine Antwort gepostet, in der es heißt: „Danke @marc für die Lösung und sie funktioniert! Ich habe in einer ganzen Reihe von Foren nach dieser Lösung gesucht.
Da querystring veraltet ist, wie @sudarshan betonte, können wir stattdessen URLSearchParams verwenden. In diesem Code-Snippet können wir ersetzen new URLSearchParams(params) zum queryString.stringify(params). URLSearchParams sollten in neueren Versionen von node und dem Browser unterstützt werden. Wenn Ihre Node-Version dies nicht unterstützt, können wir eine Polyfüllung verwenden
– Jonathan Beadle
7. April um 17:16 Uhr
Adnan Khan
Für diejenigen, die Probleme mit Curl haben, lautet der Curl-Befehl wie folgt
Ich hatte ein ähnliches Problem beim SOAPUI-Testen. Wir sollten keinen json POST. Dies wurde behoben, als ich „Medientyp“ deaktiviert und das Kontrollkästchen „PostQueryString“ aktiviert hatte. Das Feld „Medientyp“ wird von selbst auf „www-form-urlencoded“ gesetzt. Fügen Sie oben Attribute hinzu, indem Sie auf das Pluszeichen klicken.