繁体   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