Salesforce REST API是否一次只允许一个连接,如SOAP API?

时间:2012-07-09 14:12:38

标签: c# salesforce

因此,根据Salesforce的SOAP api的文档,如果我在登出前登录并启动一个需要1分钟的进程,那么其他人使用相同的凭据登录并开始另一个需要30秒才能完成的进程注销,当第二个用户注销时,它也将启动第一个用户。

REST api有这个问题吗?有办法吗?

2 个答案:

答案 0 :(得分:2)

你的问题的答案是肯定的,REST Api有同样的问题。

来自官方文件:

  

如果使用同一用户登录多个客户端应用程序,   他们共享相同的会话。如果是客户端应用程序之一   调用logout(),它使所有客户端的会话无效   应用。 为每个客户端应用程序使用不同的用户   更容易避免这些限制。

salesforce建议我们避免这种情况的唯一方法是创建新用户。

您可以创建自己的中央服务来管理唯一会话,并将活动访问令牌提供给客户端,但这种方法远离force.com平台解决方案。

答案 1 :(得分:1)

这确实是一个会话管理问题,而不是您要使用该会话调用的任何特定API。那说,你有两个简单的选择。

a)不要调用注销,只是让会话基于不活动而过期,这样如果会话碰巧被2个不同的集成共享,它就不会导致问题。

b)切换到OAuth进行身份验证,并为每个集成提供自己的OAuth客户端/远程访问条目。 (不同的oauth客户端之间不会共享会话)。