如何在AngularJs中实现安全的OAuth2消耗?

时间:2013-08-30 06:40:44

标签: angularjs salesforce firebase firebase-security angularfire

我正在使用AngularJS与Salesforce connect建立oauth2。当我使用$ http尝试初始GET时,我得到了CORS错误 - 我的客户端不允许访问 - 控制 - 允许 - 来源。但是,在我的控制器功能中使用下面的hack有效。

有没有更好的方法在AngularJs中执行此操作,因为我无法控制服务器?我的后端是Firebase,所以如果我可以通过FIrebase这样做,就像我可以用于Facebook一样:

$scope.auth = function () {

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

    window.location = authUrl ; 

1 个答案:

答案 0 :(得分:0)

当通过浏览器异步调用不同的服务器时,会出现cors问题。

因此,如果呼叫是从其他服务器进行的,则不会出现。所以你必须使用代理服务器,然后再调用你的实际服务器。

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

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