是否可以创建一个简单的Salesforce应用程序,允许其他Salesforce客户公开安装应用程序并将其数据公开给外部 Web服务?
我知道可以通过让Salesforce客户添加“已连接的应用程序”来实现此目的。和用户帐户然后使用来自Connected App的client_id和client_secret以及来自用户帐户的用户名,密码和安全令牌来使用OAuth对Web服务进行身份验证。不幸的是,这仅适用于能够使用API的更昂贵的帐户,而且有点重。我希望工作流程更像以下内容:
客户通过AppExchange安装我的Salesforce应用程序。该应用程序告诉他们所需的所有权限,他们可以根据需要进行调整。
我的Salesforce应用程序通知我的外部 Web应用程序该连接。它现在可以通过Salesforce API从客户的Salesforce中提取数据,以便为其执行有趣的操作,例如为与Salesforce帐户关联的所有用户创建帐户。
现在有人想使用我的外部网络应用,而不是使用OAuth密码grant_type,我可以使用OAuth令牌代码grant_type来允许用户访问他们应该使用的转换后的Salesforce数据根据他们的Salesforce权限获得许可。
这个工作流程是否可行,或者我最好只将我的应用程序限制为拥有更高昂的Salesforce许可证并要求他们设置连接应用程序并为每个客户获取不同的client_id,client_secret和用户凭据的客户?