You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用同一Connected App访问多个Salesforce Org及其社区站点

方案可行性结论

你想复用站点A下创建的Connected App的client_id、client_secret,仅更换用户名密码访问站点B的方案不可行。
原因:Connected App是Salesforce org(即你所说的站点所属的独立实例)的专属资源,仅在创建它的org内生效,无法直接跨独立org使用。

替代实现方案

如果你希望用相同的client_id、client_secret值对接两个站点,可以在站点B的org中单独创建一个新的Connected App,手动填写和站点A的Connected App完全相同的client_id、client_secret即可,两个实例的Connected App参数相互独立,不会冲突。

用户名密码凭证调用REST API的实现方式

你可以使用OAuth 2.0 用户名密码流实现需求,配置和调用要求如下:

前置配置

  • 两个站点的Connected App都需要开启OAuth支持,勾选「允许用户名和密码流」选项,分配的权限范围至少包含api,根据你调用的接口类型补充web、chatter_api等范围
  • 所有需要使用的社区用户,都需要被分配对应社区的访问权限,同时加入对应Connected App的允许访问用户范围

调用方法

调用时不需要更换client_id和client_secret(只要你两个站点的Connected App配置了相同的参数),仅需要更换两个参数即可:

  1. 认证请求的端点地址:根据你要访问的社区调整请求地址,格式为https://[目标社区域名]/services/oauth2/token
  2. 认证请求的用户名、密码参数:填写对应该社区的合法用户凭证,若你的请求IP不在Salesforce白名单内,密码需要拼接用户的安全令牌

密码流的请求参数示例

POST https://[目标社区域名]/services/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=password
&client_id=你配置的统一client_id
&client_secret=你配置的统一client_secret
&username=目标社区的用户账号
&password=用户密码+用户安全令牌

请求成功后会返回access_token,后续调用该社区的REST API时,在请求头中带上Authorization: Bearer {access_token}即可。

注意事项
  • 两个站点下的Connected App本质是独立的资源,需要分别做权限配置、安全策略配置
  • 不同社区的用户仅能访问所属站点下的社区资源,无法跨站点授权访问

内容的提问来源于stack exchange,提问作者Deepak Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 13:36:03