0

我正在使用 AngularJS 设置 oauth2 与 Salesforce 连接。当我尝试使用 $http 进行初始 GET 时,出现 CORS 错误 - 我的客户端不允许访问控制允许来源。但是,在我的控制器功能中使用下面的 hack 是可行的。

鉴于我无法控制服务器,是否有更好的方法在 AngularJs 中执行此操作?我的后端是 Firebase,所以如果我能像 Facebook 一样通过 FIrebase 做到这一点,那就太好了:

$scope.auth = function () {

    var authUrl = $scope.AUTHORIZATION_ENDPOINT + 
            "?response_type=token" +
            "&client_id="    + $scope.CLIENT_ID +
            "&redirect_uri=" + "https://www.xyz/";

    window.location = authUrl ; 
4

1 回答 1

0

通过浏览器对不同服务器进行异步调用时会发生 cors 问题。

因此,如果呼叫是从另一台服务器发出的,它不会出现。所以你必须使用代理服务器,然后再调用你的实际服务器。

您可以尝试以下简单的代理服务器。 https://www.npmjs.com/package/cors-anywhere

或者您可以编写自己的代理服务器,它与您的客户端应用程序在同一域上运行,并将您的请求代理到安全服务器。

于 2018-02-11T17:24:01.793 回答