我们希望将salesforce用户连接到另一个组织中的另一个salesforce用户,而无需用户干预服务。
我们已尝试使用SAML承载流程(使用远程访问应用程序)连接到salesforce以检索我们的某个产品的访问令牌。我们指的是以下文章。
http://help.salesforce.com/help/doc/en/remoteaccess_oauth_SAML_bearer_flow.htm
正如此流程的SF文章所述,它使用以前的用户授权来连接和检索令牌。如果用户(请求令牌)尚未授权应用程序,SF将首先带您进入授权页面,应用程序获得授权后,应用程序将获取访问令牌。这也很好用。然而,在我们将此流程用于产品之前,用户授权应用程序的步骤非常痛苦。如果这个步骤可以为组织完成一次并且文章确实提到用户或管理员可以授权应用程序,那将是好的和简化的。但是,我无法找到管理员如何授权远程访问应用程序。
有没有人知道并且可以指导管理员如何授权应用程序,或者我们可以以任何其他方式实现我们的要求。任何想法都会非常感激。
答案 0 :(得分:1)
OAuth1和OAuth2需要用户干预设计。你为打败这一点所做的一切都是谨慎而不是最佳实践。您可以轻松地对用户进行操作,但您始终会拥有最初的“授权此应用程序”消息。
如果您试图让用户轻松登录任一组织,那么您可能需要考虑一个中心辐射型SSO解决方案。 See this doc.
如果您尝试在两个Salesforce实例之间传递信息,则可能需要考虑Salesforce2Salesforce或出站工作流。但是,这是在系统上下文而不是用户上下文中完成的。
如果要维护用户上下文和安全性,则应考虑使用新的Salesforce Canvas API。 Canvas允许您调用出站服务,并将凭据传递给服务,以便它可以回传。外部服务没有理由不能成为Salesforce实例。