CSRF提取后更新操作中的用户身份验证

2020-08-19 08:44发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 尝试使用ODATA服...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

尝试使用ODATA服务udpdate操作时出现错误。

CSRF已启用,我们能够成功检索CSRF令牌和会话,但是更新操作失败,并显示" 无效或缺少CSRF令牌"

我们用于HTTP基本身份验证的用户是系统/服务用户。 有趣的是,如果我们将该用户更改为对话框用户,则一切正常,并且能够成功执行更新操作。

这是否意味着对于使用CSRF令牌的更新操作,始终必须强制使用对话框用户,并且不允许系统/服务用户使用?

非常感谢您的宝贵时间。

此致

C。

2条回答
太Q了
2020-08-19 09:14

嗨,

您是否在标头中发送了提取的x-csrf令牌以及更新操作? 请确保您在请求的标头中发送令牌,标头应为x-csrf-token(无大写字母)。

我假设您还将在更新时发送基本身份验证凭据 请求? (强制性)

据我所知,更新操作不限于对话框用户。 (我正在使用客户的服务用户进行某些OData调用,包括创建,更新和删除操作)

最诚挚的问候

Geert-Jan Klaps

# p#

嗨查尔斯

您是否找到解决此问题的方法? 我面临着同样的事情:使用服务用户,无法获取csrf令牌(在UI5端未定义),并且修改请求被阻止。 不知道这是否相关,但是查看SM05,服务用户没有会话。 例如,使用基本身份验证切换到对话框用户可以解决所有问题。

为该特定服务禁用csrf是一种解决方案(将CHECK_CSRF_TOKEN设置为0),但是IMO应该对此行为提供更好的解决方案或解释。

一周热门 更多>