0

当用户单击我们需要发送该社区用户的会话 ID 的按钮时,我遇到了 Salesforce 与第三方应用程序和 Salesforce 社区门户连接的情况。

使用该会话 ID,第三部分应该对销售人员进行 REST 调用,REST Apex 类应该运行 HTTP GET 方法并在 JSON 响应中返回联系人详细信息。这可能吗 ?

注意:我们不会让所有社区用户的用户名和密码用于任何类型的身份验证,当任何社区用户登录并单击按钮时,那时我们只是将该用户的会话 ID 发送给该第三方REST API 正文中的应用程序。并且第三方将只有与该用户相关的会话 ID,并且使用该会话 ID,他们应该能够获取该社区用户的联系详细信息作为响应。

4

1 回答 1

1

Rav,您可以使用 Apex检索会话 IDSystem.UserInfo.getSessionId() ,并将其发送到第三方系统。然后该系统可以将该值添加到 HTTP 标头Authorization: Bearer TheSessionId

但是......您可能会重新考虑这种方法 - 取决于您对该后端系统的控制程度。当您准备从 Apex 发出的呼叫时,您已经可以访问用户详细信息。为什么不在初始 JSON 中提供它们?即使系统需要稍后回拨(您需要会话 ID),预先提供用户详细信息也会为您节省网络呼叫。

于 2019-01-29T06:20:03.167 回答