当前位置: 首页 > 知识库问答 >
问题:

SAML 2.0身份验证请求的目的/用途是什么?

苍烨然
2023-03-14

我已经浏览了类似的问题并阅读了几篇关于SAML 2.0的文章,但我仍然无法理解SAML Auth Request。

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

  1. 用户登录我们的网站
  2. 用户单击我们网站上的特殊链接
  3. 我们准备SAML响应XML
  4. 我们用私钥对其进行电子签名
  5. 将其作为HTML格式的隐藏字段以及“RelayState”参数发送回用户浏览器
  6. 我们自动将此表单发布到SP(服务提供商)URL

就是这样。

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

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

非常感谢。

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

共有1个答案

拓拔奇
2023-03-14

您正在使用规范中指定的所谓主动响应,因此您不会“错过一步”。它在SAML配置文件规范中的4.1.5下指定

正常的用例是用户尝试登录SP,SP将用户重定向到IDP进行身份验证。

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

 类似资料:
  • 问题内容: 我正在尝试将API查询输入python。命令行 提供一些json输出。myToken是一个十六进制变量,始终保持不变。我想从python进行此调用,以便我可以遍历不同的id并分析输出。有任何想法吗?在需要身份验证之前,我已经使用urllib2进行了此操作。我也查看了请求模块,但无法弄清楚该怎么做。 非常感谢。 问题答案: 该请求包有一个用于HTTP请求的一个非常好的API,加入了自定义

  • 我第一次尝试使用Google Firestore,通过Google api身份验证进行身份验证。我要做的第一件事是用几个方法来填充数据库,当我等待批处理任务时,会出现以下错误: 我几乎找不到谷歌认证连接firestore的方法。首先,我使用google console为我的应用程序提供的密码使用此方法进行身份验证: 使用在我的google控制台中为应用程序配置的相同作用域(我在同一应用程序中使用g

  • 经过身份验证的请求可用于获取授权代码令牌,以访问系统中的所有者资源。 对授权端点发出的请求会导致用户身份验证,并在向授权端点发送请求时提供明确的凭据。 经过身份验证的请求包含以下参数 - response_type - 这是一个必需参数,用于将值设置为'code',用于请求授权代码。 如果授权请求中没有'response_ type'参数,则授权服务器返回错误响应。 由于无效或不匹配的重定向URI

  • 我试图得到一个API查询到python。命令行 给出一些json输出。myToken是一个十六进制变量,始终保持不变。我想从python中调用它,这样我就可以循环使用不同的ID并分析输出。有什么想法吗?在需要身份验证之前,我已经使用urllib2完成了这项工作。我还查看了requests模块,但不知道如何实现。 非常感谢。

  • 但是这个配置的问题是我只能以用户Euclid的身份登录。但我想作为每一个可用的用户登录。 但是对于另一个配置,我会在日志中得到这样的消息,即找到了该用户,但已经发生了驱逐。 2017-04-20 09:36:16]ldap_driver.debug:ldap_search(dc=example,dc=com,(&(&(objectclass=person))(UID=einstein)),[arr

  • 问题内容: 我必须 使用 HTTP Basic身份验证从http服务器下载和解析XML文件。现在,我这样做: 但是以这种方式,我无法从具有http身份验证的服务器获取xml(或者我只是根本不知道该文档)文档。 如果您能向我展示实现我的目标的最好,最简单的方法,我将不胜感激。 问题答案: 您可以使用。例如: 这将设置默认值,并将在 所有 请求中使用。显然,当您不需要所有请求的凭据或多个不同的凭据(可