Salesforce.com REST身份验证CORS问题

时间:2016-11-14 15:27:20

标签: javascript rest salesforce

我正在与salesforce.com api进行一些集成,但我遇到了障碍。

使用我想要的一些JavaScript 1.发布用户名/密码以获取身份验证令牌 例如: https://login.salesforce.com/services/oauth2/token?&client_id=XXX-XXX&client_secret=YYYYYY&grant_type=password&password=BLAHBLAHP&username=BLAH@BLAH.com 2.使用此令牌向salesforce API发出子请求请求。

当我提出上述请求时,只要我禁用浏览器的安全性或添加一个添加“访问控制 - 允许 - 来源”的插件,它就能正常工作。值到响应的标头。在这种情况下,我从Salesforce获得了有效的响应。

问题是当我从我的域中尝试此操作时出现CORS错误: No' Access-Control-Allow-Origin'标头出现在请求的资源上。来源' https:// {{myip}}'因此不允许访问。

现在我理解为什么浏览器强制执行此限制,但Salesforce API可以选择添加列入白名单的域。我本以为这可以让我做这项工作,但事实并非如此。即使我已将我的域添加到白名单,但身份验证请求始终会返回浏览器控制台中的abve错误(chrome)。

我的问题是:我被欺骗认为白名单应该适用于我的情况?我错过了一些salesforce应用程序的配置吗?我是否必须遵循不同的身份验证方法才能实现此目的?

任何指导都将不胜感激。

1 个答案:

答案 0 :(得分:1)

Salesforce REST API尚未在所有请求端点上支持CORS。那么也许你正在使用一个没有添加CORS头的端点?在此期间,您可以使用代理:https://www.jamesward.com/2014/06/23/cross-origin-resource-sharing-cors-for-salesforce-com