SAP Geteway 403 CSRF错误

在SAP Gateway中,执行post,put,delete的操作是,会出现403的错误。

原因是因为当服务器进行有数据修改的操作是,需要对客户端提供的token进行验证。

解决办法是,在get的操作中,将"X-CSRF-Token : Fetch"加入http header中,获取token,同样在进行post等操作时,将获取到的token值,放入http header中。

可以参照 https://blogs.sap.com/2014/07/11/issues-with-csrf-token-and-how-to-solve-them/ 这篇博文进行设置,在下面的comment中还提供了一些遇到的其他问题。

我在设置token之后,同样也不好用,我猜测是因为两次的请求不是在同一个session之中发生的,也许应该在get中取得cookies,并且放入post的请求中,

可以解决这个问题,但是还没有进行验证。(也许与odata中设置的expire这个关键字有关系。具体不太清楚。)

可以使用以下方法临时解决

在SAP Gateway中使用get操作,取到到"X-CSRF-Token"与"set-cookie"。

在post的请求中,将获取的token值与获取的set-cookie值放入请求头中。

格式如下

 

原文地址:https://www.cnblogs.com/suoluo119/p/11411281.html