我正在使用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 ;
答案 0 :(得分:0)
当通过浏览器异步调用不同的服务器时,会出现cors问题。
因此,如果呼叫是从其他服务器进行的,则不会出现。所以你必须使用代理服务器,然后再调用你的实际服务器。
您可以尝试以下代理服务器,这很简单。 https://www.npmjs.com/package/cors-anywhere
或者您可以编写自己的代理服务器,该服务器与客户端应用程序在同一个域上运行,并将您的请求代理到安全服务器。