Orchestrator身份验证不适用于Javascript XHR请求

问题描述

我试图建立一个网站,以在内部控制UiPath Orchestrator。我们正在使用本地Orchestrator。

该连接首先在Postman / curl中进行了测试:

curl --location --request POST '{{url}}/api/Account/Authenticate' \
--header 'Content-Type: application/json' \
--data-raw '{
    "tenancyName": "{{tenantName}}","usernameOrEmailAddress": "{{usernameOrEmailAddress}}","password": "{{password}}"
}'

这使我退回了authtoken,没有任何问题。完美。

然后我尝试将curl实施为Javascript中的XHR

var data = JSON.stringify({"tenancyName":"...","usernameOrEmailAddress":"...","password":"..."});
      var xhr = new XMLHttpRequest();
      xhr.withCredentials = true;
      xhr.addEventListener("readystatechange",function() {
        if(this.readyState === 4) {
          console.log(this.responseText);
        }
      });
      xhr.open("POST","https://.../api/account/authenticate");
      xhr.setRequestHeader("Content-Type","application/json");
      xhr.send(data);

但是Firefox和Chrome正在尝试进行预检。所以我得到了404状态码:

Firefox:

firefox

Chrome浏览器:

chrome

我现在很困惑如何解决它。实际上,这显然是CORS问题。所以我尝试设置:

<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />

在我们的IIS7服务器上。没有任何改变。

我还尝试设置此设置,以允许Node.js服务器和XHR请求上的所有内容。但是404停留了。

然后我尝试使用Chrome和Firefox插件禁用CORS。但是404停留了。

再一次,在Postman中,自首次尝试以来,它的工作原理十分完美。因此,这只是一个CORS问题。但是我想让CORS启用,也许只是以允许特定服务器的方式配置它。该怎么做?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)