我正在尝试使用他们的 OAuth 2.0 界面连接到 Salesforce.com。我找到了像LROAuth2Client这样的解决方案,它允许我打开一个网页并像这样进行身份验证。但是有没有办法通过后端完成这一切而无需先访问网页,以便我可以将它更多地集成到应用程序中?
我是 OAuth 的新手,所以我不知道所有的限制。
提前致谢。
我正在尝试使用他们的 OAuth 2.0 界面连接到 Salesforce.com。我找到了像LROAuth2Client这样的解决方案,它允许我打开一个网页并像这样进行身份验证。但是有没有办法通过后端完成这一切而无需先访问网页,以便我可以将它更多地集成到应用程序中?
我是 OAuth 的新手,所以我不知道所有的限制。
提前致谢。
Salesforce 支持 OAuth2 用户名/密码选项,这一切都无需网页即可完成。例如使用 curl 你会做
curl -v https://login.salesforce.com/services/oauth2/token -d "grant_type=password" -d "client_id=xxxxxxxxxx" -d "client_secret=1234567890" -d "username=noreply@salesforce.com" -d "password=XXXXXXXXX"
话虽如此,web/interactive 流在 iOS 中使用起来非常简单,使用自定义方案 URL 进行回调(尝试使用库可能比实际更难)。基于 Web 的流程对于配置了替代身份验证流程(例如基于 SAML 的 SSO)的用户来说很重要,这在用户名/密码流程上不起作用。
Dreamforce'10 的 REST 和 OAuth 会话的某个地方应该有一个在线视频,安全 PM 在舞台上编写了一个基于 iPhone oAuth 客户端的应用程序。
这取决于你的目标。使用 oauth2 的一个原因是您希望更好地了解正在运行的内容。例如,假设您有许多 cron API 应用程序都连接到同一个站点。在这种情况下,由于它们是 cron 应用程序,因此您甚至不必在 cron 服务器上运行 Web 浏览器。您当然可以只配置用户名和密码,但是如果您重置了密码,则必须更新所有 cron 服务器,而且您甚至不一定知道有多少台服务器。特别是如果他们是通过 NAT 来的。
在这种情况下,一个非常可行的解决方案是使用salesforce 上的视觉强制页面作为回调URL。管理员可以登录 salesforce,然后使用视觉强制页面生成刷新令牌,然后他们移交给 cron 作业使用。
你知道在你的审计阶段有 oauth 2。您分发的令牌可以限制为 API。希望如果salesforce没有正确地使用oauth 2,您可以根据需要在用户登录时重置密码,而不会影响您分发的令牌。
账单
还有另一种方法。您可以访问我的网站了解该方法。