簡體   English   中英

如何在對 SAP HANA 的 Alexa POST 請求中正確設置 X-CSRF-Token? (403 錯誤)

[英]How do I set the X-CSRF-Token correctly in an Alexa POST Request to SAP HANA? (403 error)

我對 HTTPS-Post-Request 的 x-csrf-token 驗證有疑問。 該請求來自由 Amazon Alexa 技能觸發的 Lambda 函數,並被發送到在 SAP HANA 數據庫中的 SAP Cloud Platform 上運行的 XSO 數據文件。 我使用 Javascript/Node.js。

請求標頭中設置了有效令牌(請參閱下面第一張圖片中的代碼),但響應標頭顯示的是 x-csrf-token“必需”(請參閱​​下面第二張圖片中的代碼)。 所以驗證有錯誤。 POSTMAN 的相同發布請求工作正常,但是當我通過 JS 文件作為 Lambda 函數(在第一張圖片中)嘗試它時,會出現 HTTP 狀態代碼 403 的錯誤(請參閱下面第二張圖片中的代碼)。 POST 請求本身有效,但令牌驗證無效。 GET 請求工作正常。

有人知道可能的解決方案嗎?

非常感謝你!

1.圖片:要求

2.圖片:響應

請先嘗試獲取 csrf 令牌,然后再將其設置為請求正文。 CSRF 令牌隨設備以及時間范圍而變化。 我也有類似的問題,在實施上述解決方案后,它開始完美運行。

我寫這個作為一個單獨的答案,因為我在 Spring Boot RestTemplate 調用中遇到了問題。 看完這篇文章后,我可以得出一個解決方案。 SAP CSRF 問題

基本上,“set-cookie”標頭指示瀏覽器設置“Cookie”標頭。 所有需要做的(除了 x-csrf-token)就是用分號替換 cookie 字符串中的逗號。 然后將標題“Cookie”設置為這個替換值;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM