最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何在CORS

运维笔记admin12浏览0评论

如何在CORS

如何在CORS

我尝试在使用CSRF token validation failed的不同服务器上的端点上执行POST请求时遇到cors-anywhere错误。主要是因为我传递给cors-server的CSRF令牌被缓存,因此验证失败。

我已阅读以下Stack Overflow链接 - Similar issue。事实证明我的问题与链接中的问题相同,但由于该链接不包含任何解决方案,我在这里问它。

请帮忙。

编辑:-

                  $.ajax({
                          async: false,
                          crossDomain: true,
                          data: batch_request,
                          url: "://......api.s4hana.ondemand:xxx/sap/opu/odata/sap/API_MKT_CONTACT_SRV;v=0002/$batch",
                          type: "POST",
                          beforeSend: function (xhr) {
                            xhr.setRequestHeader("Authorization", "Basic xxxxxxxxxxxxxxx");
                            xhr.setRequestHeader("X-CSRF-Token", "xxxxxxxxx");
                            xhr.setRequestHeader("Content-Type", "multipart/mixed;boundary=batch");
                          },
                          success:function(response) {
                              console.log("Succesfully added new contacts");
                              console.log(response);
                        },
                        error: function (error) {
                              console.log("Error");
                              console.log(error);
                        }
                    });

我使用POSTMAN进行了GET调用,并从服务器中检索了CSRF令牌。现在,我已经在AJAX调用中硬编码了令牌。我这样做时收到以下错误 -

回答如下:

CSRF验证取决于匹配与请求关联的两个令牌。通常,一个在请求本身,另一个存储在与cookie请求相关联的会话中。

由于您正在浏览一个简单的代理,因此您自己是匿名的,并且没有与该请求关联的会话。


如果您想解决这个问题,那么您需要编写自己的服务器端代理,以便按用户维护会话。

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论