SalesForce.com的单点登录(SSO)

4
我们希望与Salesforce.com进行SSO。从他们的文档中,我们发现这个选项“委托认证”适合我们的需求。基本上,当提供用户名和密码时,Salesforce.com会启动一个Web服务调用来获取它验证的原始组织。
我们考虑以下方式实现-我们的用户将使用用户ID和密码登录到我们的系统,我们将对其进行身份验证。然后,当他们需要访问Salesforce.com时,我们将向Salesforce.com提供用户名和cookie(我们从身份验证中获取的cookie),Salesforce.com将通过Web服务调用将这些传递给我们的组织,我们将能够使用此cookie验证用户。
有人尝试过/听说过这种方法吗?是否存在任何已知限制?任何帮助都将不胜感激。
2个回答

3

在使用委派认证时,这是一种常见方法。主要问题在于如果您的 DA 监听器仅接受身份验证 cookie,则无法从除网站以外的应用程序登录 salesforce(例如移动应用程序、数据加载器等)。您可以编写 DA 监听器以接受身份验证 cookie 或密码,并以此方式工作,或者您可以研究较新的基于 SAML 的 SSO 功能,许多应用程序现在都支持该功能。


感谢确认这种方法。是的,我们计划编写我们的DA监听器来接受cookie或密码。 - Govinda

2
一种方法是使用Salesforce支持的SAML2 Web浏览器SSO配置文件。您需要在Salesforce管理设置中配置SAML2 SSO。以下是简要概述:https://help.salesforce.com/apex/HTViewHelpDoc?id=sso_saml.htm&language=th 对于最终用户,流程如下:
- 用户导航到Salesforce并在登录表单中提供完全限定的用户名(例如joe@acme.com)。 - Salesforce将用户重定向并向负责验证用户身份的身份服务(idp.acme.com)发送SAML2身份验证请求。 SAML2身份验证请求作为HTTP重定向的GET参数发送。 - 身份服务对用户进行身份验证(例如通过呈现登录表单并验证用户名和密码)。 - 身份服务向Salesforce返回SAML2断言。实际上,该断言作为HTTP响应发送给用户,并且它会在页面加载时通过JavaScript函数自动POST到Salesforce。 - Salesforce验证断言(数字签名、时间有效期等),并允许用户进入。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接