Single sign on SAML2.0身份验证请求的目的/用途是什么?

Single sign on SAML2.0身份验证请求的目的/用途是什么?,single-sign-on,saml-2.0,opensaml,Single Sign On,Saml 2.0,Opensaml,我已经浏览了类似的问题,并阅读了几篇关于SAML2.0的文章,但我仍然无法理解SAMLAuth请求 我已经实现了几个基于SAML的SSO解决方案,其中我的公司是IdP(身份提供商)。我们一直通过SAML响应将用户从我们的网站发送给第三方: 用户登录我们的网站 用户点击我们网站上的特殊链接 我们准备SAML响应XML 我们用私钥进行电子签名 将其作为HTML表单中的隐藏字段以及“RelayState”参数发送回用户浏览器 我们自动将此表单发布到SP(服务提供商)URL 就这样。 SAML2.0文章

我已经浏览了类似的问题,并阅读了几篇关于SAML2.0的文章,但我仍然无法理解SAMLAuth请求

我已经实现了几个基于SAML的SSO解决方案,其中我的公司是IdP(身份提供商)。我们一直通过SAML响应将用户从我们的网站发送给第三方:

  • 用户登录我们的网站
  • 用户点击我们网站上的特殊链接
  • 我们准备SAML响应XML
  • 我们用私钥进行电子签名
  • 将其作为HTML表单中的隐藏字段以及“RelayState”参数发送回用户浏览器
  • 我们自动将此表单发布到SP(服务提供商)URL
  • 就这样。

    SAML2.0文章(例如)表明我们缺少一个步骤:“SAML身份验证请求”。SP似乎需要通过首先向IdP(美国)发送“SAML Auth请求”来启动SSO,然后我们应该使用SAML响应来响应它

    SP如何决定何时初始化SSO?SP甚至不知道我们将按他们的方式发送用户。用户当前已登录到我们的网站,何时单击该链接取决于用户,这将“神奇地”在SP网站中对他们进行身份验证

    谢谢大家!


    另外,我知道SAML2.0是“公认的行业标准”,但我使用它的次数越多,我就越觉得它是一种过度使用。由于其复杂性,有大量不同的不兼容实现(根据我的经验)。每次我们与新合作伙伴进行SSO时,都会感到痛苦。大公司通过销售“开箱即用”的SAML解决方案赚了一大笔钱,没有人知道如何正确配置和排除故障,因此人们几乎被迫支付昂贵的承包商来安装。公司希望能够雇佣低薪员工来支持那些过于复杂的SAML解决方案。当我与第三方建立SSO时,我经常与那些不知道SSO是什么的人打交道,他们只是被训练单击按钮,然后通过电话向我阅读神秘的错误消息。这一切都是由于SAML的过度设计。但是,嘿,有一个好的方面:我得到了很好的报酬,因为我很了解SAML,至少我能让它工作起来

    您使用的是所谓的主动响应,它在规范中有规定,因此您不会“遗漏一个步骤”。本规范第4.1.5条中规定

    通常情况下,用户尝试登录SP,SP将用户重定向到IDP进行身份验证


    您可以选择的一种实现方式是,您的门户仅将用户重定向到SP。如果SP检测到用户没有会话,SP将针对IDP启动正常SSO

    您使用的是所谓的主动响应,它在规范中指定,因此您不会“错过一个步骤”。本规范第4.1.5条中规定

    通常情况下,用户尝试登录SP,SP将用户重定向到IDP进行身份验证


    您可以选择的一种实现方式是,您的门户仅将用户重定向到SP。如果SP检测到用户没有会话,SP将针对IDP启动正常SSO

    ,只是为了添加,触发IDP启动的SSO并不是标准的一部分,但Stefan链接的页面解释了一旦触发会发生什么。大多数IdP只是有某种URL或重定向来实现它——Shibboleth IdP有一个端点,记录在:只是补充一下,触发IdP启动的SSO并不是标准的一部分,但是Stefan链接的页面解释了一旦触发它会发生什么。大多数IdP都有某种URL或重定向来执行此操作——Shibboleth IdP有一个端点,记录在: