【发布时间】:2012-09-28 13:47:01
【问题描述】:
谁能向我解释SP 发起的 SSO 和 IDP 发起的 SSO 之间的主要区别是什么,包括哪个是结合实施单点登录的更好解决方案使用 ADFS + OpenAM 联合?
【问题讨论】:
-
澄清单点登录概念的新手:SP = 服务提供者(用户想要使用的系统)和 IdP = 标识提供者(对用户进行身份验证的系统)
标签: single-sign-on adfs2.0 openam
谁能向我解释SP 发起的 SSO 和 IDP 发起的 SSO 之间的主要区别是什么,包括哪个是结合实施单点登录的更好解决方案使用 ADFS + OpenAM 联合?
【问题讨论】:
标签: single-sign-on adfs2.0 openam
在 IDP Init SSO(未经请求的 Web SSO)中,联合过程由 IDP 向 SP 发送未经请求的 SAML 响应来启动。在 SP-Init 中,SP 生成一个 AuthnRequest,作为联合过程的第一步发送给 IDP,然后 IDP 以 SAML 响应进行响应。恕我直言,ADFSv2 对 SAML2.0 Web SSO SP-Init 的支持比其 IDP-Init 支持更强:与第 3 方 Fed 产品的集成(主要围绕对 RelayState 的支持),因此如果您有选择,您将希望使用 SP-初始化,因为它可能会使 ADFSv2 的生活更轻松。
这里有一些来自 PingFederate 8.0 入门指南的简单 SSO 描述,您可以浏览一下,这也可能会有所帮助 -- https://documentation.pingidentity.com/pingfederate/pf80/index.shtml#gettingStartedGuide/task/idpInitiatedSsoPOST.html
【讨论】:
IDP 发起的 SSO
来自 PingFederate 文档:- https://docs.pingidentity.com/bundle/pf_sm_supportedStandards_pf82/page/task/idpInitiatedSsoPOST.html
在这种情况下,用户登录到 IdP 并尝试访问远程 SP 服务器上的资源。 SAML 断言通过 HTTP POST 传输到 SP。
加工步骤:
SP 发起的 SSO
来自 PingFederate 文档:- http://documentation.pingidentity.com/display/PF610/SP-Initiated+SSO--POST-POST
在这种情况下,用户尝试在未登录的情况下直接访问 SP 网站上的受保护资源。用户在 SP 站点上没有帐户,但有一个由第三方 IdP 管理的联合帐户。 SP 向 IdP 发送身份验证请求。请求和返回的 SAML 断言都是通过用户的浏览器通过 HTTP POST 发送的。
加工步骤:
可以从用户数据存储中检索有关用户的其他信息,以包含在 SAML 响应中。 (这些属性是作为 IdP 和 SP 之间的联合协议的一部分预先确定的)
IdP 的 SSO 服务向浏览器返回 HTML 表单,其中包含身份验证断言和任何其他属性的 SAML 响应。浏览器自动将 HTML 表单发送回 SP。 注意: SAML 规范要求对 POST 响应进行数字签名。
(未显示)如果签名和断言有效,SP 为用户建立会话并将浏览器重定向到目标资源。
【讨论】:
向用户收费:“嘿,吉米,给我看这份报告”
Jimmy the SP:“嘿,我还不确定你是谁。我们这里有一个流程,所以你可以先向 IdP Bob 进行验证。我相信他。”
IdP 鲍勃:“我看到 Jimmy 派你来这里了。请给我你的凭据。”
比尔用户:“嗨,我是比尔。这是我的凭据。”
IdP 鲍勃:“嗨,比尔。看起来你已经退房了。”
IdP 鲍勃:“嘿,吉米。这家伙比尔检查了一下,这里有一些关于他的额外信息。你可以从这里做任何你想做的事情。”
Jimmy the SP:“好吧,酷。看起来比尔也在我们的已知客人名单中。我会让比尔进来。”
向用户收费:“嗨,鲍勃。我想去吉米家。那里的保安很严密。”
IdP 鲍勃:“嘿,吉米。我相信比尔。他检查了,这里有一些关于他的额外信息。你可以从这里做任何你想做的事。”
Jimmy the SP:“好吧,酷。看起来比尔也在我们的已知客人名单中。我会让比尔进来。”
我在这里详细介绍,但仍然保持简单:https://jorgecolonconsulting.com/saml-sso-in-simple-terms/。
【讨论】:
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-Initiated SSO、为 Okta 配置 Procore-Initiated SSO 或为 OneLogin 配置 Procore-Initiated SSO。
【讨论】: