与SalesForce.com的SSO

与SalesForce.com的SSO,salesforce,single-sign-on,Salesforce,Single Sign On,我们想使用Salesforce.com进行SSO。从他们的文档中,我们发现这个选项“委托认证”适合我们的需要。基本上,当给定用户名和密码时,Salesforce.com会向原始组织发起一个web服务调用,以对其进行验证 我们正在考虑通过以下方式实现这一点-我们的用户将使用用户id和密码登录到我们的系统,我们将对他们进行身份验证。然后,当他们必须访问Salesforce.com时,我们将向Salesforce.com提供用户名和cookie(我们从身份验证中获得的),然后Salesforce.co

我们想使用Salesforce.com进行SSO。从他们的文档中,我们发现这个选项“委托认证”适合我们的需要。基本上,当给定用户名和密码时,Salesforce.com会向原始组织发起一个web服务调用,以对其进行验证

我们正在考虑通过以下方式实现这一点-我们的用户将使用用户id和密码登录到我们的系统,我们将对他们进行身份验证。然后,当他们必须访问Salesforce.com时,我们将向Salesforce.com提供用户名和cookie(我们从身份验证中获得的),然后Salesforce.com将在web服务调用中将这些传递给我们的组织,我们将能够使用此cookie验证用户


有人试过/听说过这种方法吗?是否存在任何已知的限制。任何帮助都将不胜感激。

这是使用委托授权的常见方法,主要问题是如果DA侦听器仅接受身份验证cookie,则无法从网站以外的应用程序(例如移动应用程序、数据加载器等)登录salesforce。您可以编写DA listener以接受身份验证cookie或密码,并以这种方式工作,也可以查看许多应用程序现在支持的基于SAML的较新SSO功能。

一种方法是使用Salesforce支持的SAML2 Web浏览器SSO配置文件。 您需要在Salesforce管理设置中配置SAML2 SSO。 以下是简要概述:

最终用户的流程如下所示:

  • 用户导航到Salesforce并提供完全限定的用户名(例如。joe@acme.com) 以登录形式
  • Salesforce重定向用户并将SAML2身份验证请求发送给负责对用户进行身份验证的身份服务(idp.acme.com)。SAML2身份验证请求作为HTTP重定向的GET参数发送
  • 身份验证服务对用户进行身份验证(例如,通过提交登录表单并验证用户名和密码)
  • 标识服务将SAML2断言返回给Salesforce。实际上,断言是以HTTP响应的形式发送给用户的,当页面加载时,它会通过javascript函数自动发布到Salesforce
  • Salesforce验证断言(数字签名、时间有效期等),并允许用户进入

感谢您确认此方法。是的,我们计划编写DA侦听器来接受cookie或密码。