SP发起的SSO和IDP发起的SSO之间的差异

时间:2012-10-08 10:09:25

标签: single-sign-on adfs2.0 openam

任何人都可以向我解释 SP发起的SSO IDP发起的SSO 之间的主要区别是什么,包括哪个是更好的解决方案,可以实现单点登录使用ADFS + OpenAM Federation?

4 个答案:

答案 0 :(得分:72)

IDP发起的SSO

来自PingFederate文档: - https://docs.pingidentity.com/bundle/pf_sm_supportedStandards_pf82/page/task/idpInitiatedSsoPOST.html

在此方案中,用户登录到IdP并尝试访问远程SP服务器上的资源。 SAML断言通过HTTP POST传输到SP。

处理步骤:

  1. 用户已登录IdP。
  2. 用户请求访问受保护的SP资源。用户未登录SP站点。
  3. 可选地,IdP从用户数据存储中检索属性。
  4. IdP的SSO服务将一个HTML表单返回给浏览器,其中包含SAML响应,其中包含身份验证断言和任何其他属性。浏览器会自动将HTML表单发回SP。
  5. SP发起的SSO

    来自PingFederate文档: - http://documentation.pingidentity.com/display/PF610/SP-Initiated+SSO--POST-POST

    在此方案中,用户尝试直接在SP网站上访问受保护资源,而无需登录。用户在SP站点上没有帐户,但拥有由第三方IdP管理的联合帐户。 SP向IdP发送认证请求。请求和返回的SAML断言都通过HTTP POST通过用户的浏览器发送。

    处理步骤:

    1. 用户请求访问受保护的SP资源。请求将重定向到联合服务器以处理身份验证。
    2. 联合身份验证服务器将一个HTML表单发送回浏览器,并提供来自IdP的SAML身份验证请求。 HTML表单会自动发布到IdP的SSO服务。
    3. 如果用户尚未登录IdP站点或需要重新身份验证,则IdP会要求提供凭据(例如,ID和密码),并且用户会登录。
    4. 可以从用户数据存储中检索有关用户的其他信息,以包含在SAML响应中。 (这些属性是作为IdP和SP之间的联合协议的一部分预先确定的)

    5. IdP的SSO服务将一个HTML表单返回给浏览器,其中包含SAML响应,其中包含身份验证断言和任何其他属性。浏览器会自动将HTML表单发布回SP。 注意: SAML规范要求对POST响应进行数字签名。

    6. (未显示)如果签名和断言有效,则SP为用户建立会话并将浏览器重定向到目标资源。

答案 1 :(得分:66)

在IDP Init SSO(未经请求的Web SSO)中,联盟进程由IDP发送未经请求的SAML响应发起。在SP-Init中,SP生成一个AuthnRequest,作为联合进程的第一步发送给IDP,然后IDP以SAML响应进行响应。恕我直言ADFSv2对SAML2.0的支持Web SSO SP-Init比其IDP-Init支持更强:与第三方Fed产品集成(主要围绕对RelayState的支持)所以如果您有选择,您将需要使用SP-使用ADFSv2可能会让生活更轻松。

以下是PingFederate 8.0入门指南中的一些简单SSO说明,您可以查看这些说明,这些说明也可能有所帮助 - https://documentation.pingidentity.com/pingfederate/pf80/index.shtml#gettingStartedGuide/task/idpInitiatedSsoPOST.html

答案 2 :(得分:16)

SP发起的SSO

向用户收费:“嘿吉米,告诉我那份报告”

Jimmy the SP:“嘿,我不确定你是谁。我们在这里有一个过程,所以你先让Bob自己验证了IdP。我相信他。”

Bob Id Id:“我看到吉米把你送到了这里。请把你的凭据告诉我。”

对用户说:“嗨,我是比尔。这是我的凭据。”

鲍勃的IdP:“嗨比尔。看起来你要结帐。”

鲍勃的IdP:“嘿吉米。这个人比尔检查出来,这里有一些关于他的其他信息。你可以从这里做任何你想做的事。”

Jimmy the SP:“好的很酷。看起来Bill也在我们的已知客人名单中。我会让比尔进去。”

IdP发起的SSO

对用户说:“嘿鲍勃。我想去吉米的地方。那里的安全很紧张。”

鲍勃的IdP:“嘿吉米。我相信比尔。他退房了,这里有一些关于他的其他信息。你可以从这里做任何你想做的事。”

Jimmy the SP:“好的很酷。看起来Bill也在我们的已知客人名单中。我会让比尔进去。”

答案 3 :(得分:0)

https://support.procore.com/faq/what-is-the-difference-between-sp-and-idp-initiated-sso

还有更多内容,但这是关于哪个是哪个的高级概述。

Procore 支持 SP 和 IdP 发起的 SSO:

身份提供商发起的(IdP 发起的)SSO。使用此选项,您的最终用户必须登录您的身份提供商的 SSO 页面(例如 Okta、OneLogin 或 Microsoft Azure AD),然后单击一个图标以登录并打开 Procore Web 应用程序。要配置此解决方案,请参阅为 Microsoft Azure AD 配置 IdP 发起的 SSO、为 IdP 发起的 Okta SSO 配置 Procore,或为 OneLogin 配置 IdP 发起的 SSO。 要么 服务提供商发起的(SP 发起的)SSO。称为 Procore 启动的 SSO,此选项使您的最终用户能够登录 Procore 登录页面,然后向身份提供商(例如 Okta、OneLogin 或 Microsoft Azure AD)发送授权请求。一旦 IdP 验证了用户的身份,用户就会登录到 Procore。要配置此解决方案,请参阅为 Microsoft Azure Active Directory 配置 Procore 启动的 SSO、为 Okta 配置 Procore 启动的 SSO 或为 OneLogin 配置 Procore 启动的 SSO。