javascript - 使用纯 Javascript 页面访问force.com REST API

标签 javascript rest salesforce

我想用 Javascript 开发一个前端(可能使用周围的奇特框架之一,例如 AngularJS),该前端使用我的 Salesforce 组织的 REST API。

不想将我的项目嵌入 Salesforce 技术,所以基本上

  • 没有 Visualforce 页面
  • 没有 Force.com 网站

确实想在单独的服务器上编写自己的前端,该服务器仅对 Salesforce 后端进行 AJAX 调用。

此外,我希望任何用户都可以访问该应用程序,即使他/她没有 Salesforce 帐户。因此,AJAX 调用不应要求用户登录 Salesforce。我希望匿名用户能够从我的组织检索公共(public)数据,并在有用时创建新条目(例如,在调查的情况下)。

尽管这些要求会产生一些安全问题,但我可以想象 Salesforce 会关心其 API 端点上的请求速率限制,并且可以基于主机名限制对 API 的访问(例如,仅请求应该允许原始主机 my-trusted-domain.com,否则发送 403-Forbidden)。如果 SF 不提供这样的基本功能,我会感到惊讶。

你将如何进行?是否有一个最小的 Javascript 代码可以在任何域上开箱即用,而不会遇到 CORS 的麻烦?

最佳答案

对 Salesforce 的所有 REST API 调用都必须经过身份验证。如果您想要匿名 API 访问,那么您将需要通过添加身份验证 token 的服务器(如 Heroku 上的服务器)代理经过身份验证的调用。或者您可以使用Heroku Connect将您的 Salesforce 数据作为 Postrgres 数据库公开给 Heroku 应用程序。

如果您选择 REST 路线,请查看 ForceServer和我的CORS Proxy for Salesforce 。两者都不是针对您正在寻找的匿名访问进行开箱即用的设置,但可以轻松进行调整以支持该用例。

顺便说一句:当允许通过代理匿名访问您的 Salesforce 数据时,请确保您正确处理安全和请求限制。

关于javascript - 使用纯 Javascript 页面访问force.com REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28026328/

相关文章:

javascript - 在数组中将 BlueBird promise 同步链接在一起

javascript - 将自定义元素添加到 TinyMCE 的首选方式

java - 使用 Jersey 测试框架模拟资源内部服务

triggers - 轻松触发对日期进行排名并插入排名 - apex - salesforce

php - 从 PHP 页面链接到在固定大小的窗口中打开

javascript - 通过 AngularJS 将 ID 应用于选择构建

c# - dotnet REST API 中返回类型的多态性

java - Spring Data Rest 的 url 格式为/foo/{id}/bar

salesforce - 使用 SalesForce/Apex 构建 OLAP 风格的应用程序

azure - 如何实现多个IdentityServer