2017-12-19 10 views
0

Ich habe ein Problem mit der x-csrf-Token-Validierung in Bezug auf eine HTTPS-Post-Anfrage. Die Anfrage kommt von einer Lambda-Funktion, die von einer Amazon-Alexa-Fähigkeit ausgelöst wird und an eine XSO-Datendatei gesendet wird, die auf der SAP Cloud Platform in einer SAP-HANA-Datenbank ausgeführt wird. Ich benutze Javascript/Node.js.Wie setze ich das X-CSRF-Token korrekt in einer Alexa POST-Anfrage an SAP HANA? (403 error)

Ein gültiges Token wird im Request-Header gesetzt (siehe Code im ersten Bild unten), aber der Response-Header zeigt für das x-csrf-Token "required" (siehe Code im zweiten Bild unten). Es liegt also ein Fehler bei der Validierung vor. Die gleiche Post-Anfrage mit POSTMAN funktioniert korrekt, aber wenn ich es über eine JS-Datei als Lambda-Funktion (im ersten Bild) versuche, kommt es zu diesem Fehler mit HTTP-Statuscode 403 (siehe Code im zweiten Bild unten). Die POST-Anfrage selbst funktioniert, aber die Token-Validierung nicht. GET-Anfragen funktionieren einwandfrei.

Kennt jemand eine mögliche Lösung?

Vielen Dank!

1.picture: request

2.picture: response

Antwort

0

Bitte versuchen Sie zuerst die csrf Token zu erhalten, bevor es auf die Anfrage Körper setzen. CSRF-Token ändert sich von Gerät zu Gerät sowie der Zeitrahmen. Ich hatte auch ein ähnliches Problem, und bei der Implementierung der obigen Lösung hat es perfekt funktioniert.

+0

Danke für Ihre Antwort. Ich habe es schon getan. Ich hole das Token über eine GET-Anfrage, dann setze ich es in den Körper der Post-Anfrage. – VFBPower123

+0

möchte dies als korrekte Antwort markieren, da jemand Hilfe von diesem Thread bekommen kann :) –