【问题标题】:csrf token validation fail in post request while calling sap odata service调用 sap odata 服务时,post 请求中的 csrf 令牌验证失败
【发布时间】:2020-12-26 09:47:14
【问题描述】:
 var Array = require('node-array');
    var request = require("request");
username = "user24",
password = "",
      auth = "Basic " + new Buffer(username + ":" + password).toString("base64");
var options = { method: 'GET',
url:  "http://207.188.73.88:8000/sap/opu/odata/sap/ZTEE_SUGGEST_SRV/ZteeSuggestSet?$filter=Number eq 5 and Date eq datetime'2014-03-11T00%3A00%3A00'&$format=json",
headers: 
{ 

我在这里获取 xcsrf 令牌

    'x-csrf-token': 'fetch',
   'content-type': 'application/json',
    authorization: auth } };

      request(options, function (error, response, body) {
          if (error) throw new Error(error);
     // console.log(response.headers['x-csrf-token']);
     var token="'";
       token+=response.headers['x-csrf-token'];
        token+="'";
         //console.log(token);
      var options = { method: 'POST',
  url: 'http://207.188.73.88:8000/sap/opu/odata/sap/ZTEE_TIME_SRV/ZTEERESERVESet',

并在此处设置 csrf 令牌,但它给我的错误是 scrf 令牌需要或无效

  headers: 
   {
 authorization: auth,
 'x-csrf-token': token,
 'content-type': 'application/json' },
 body: 
 { Time: 'time\'PT11H00M00S\'',
 Date: 'datetime\'2014-03-11T00%3A00%3A00\'',
 Location: 'AAJ',
 Number: 3 },
 json: true };

  request(options, function (error, response, body) {
      if (error) throw new Error(error);

// console.log(body); 这里它显示令牌 rrequired 但我已经在标题中设置它

                  console.log(response.headers['x-csrf-token']);
            });




         });

【问题讨论】:

    标签: node.js odata csrf


    【解决方案1】:

    我在使用 SAP WEBIDE 时遇到过类似的情况。

    我已禁用令牌请求,并且能够建立与 Odata 服务的连接。我在我的 component.js 文件中做了类似这段代码 sn-p 的操作。

    var oModel = new sap.ui.model.odata.ODataModel(this.getMetadata().getConfig().serviceUrl);
    oModel.disableHeadRequestForToken = true;
    

    serviceURL 包含 Odata 服务的 URL。 您可以尝试禁用 CSRF 令牌请求并检查。

    【讨论】:

      猜你喜欢
      • 2017-04-08
      • 1970-01-01
      • 2012-12-16
      • 2020-12-02
      • 2014-08-17
      • 2016-07-07
      • 2014-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多