使用 SP 发起的 SSO 的 SAML 如何表示失败的登录尝试?

How is a failed login attempt represented with SAML with SP-initiated SSO?

我想为 SP 发起的 SSO 设置我的服务提供商 (SP)。

当用户成功登录时,我希望 IdP POST 向我的 SP 发送 SAML 断言(这在我的 SP 上称为端点,称为断言消费者服务吗?)。

当我的 SP 和 IdP 配置正确但用户无法通过他们的主要凭据或 MFA 进行身份验证时,我应该期望发生什么? IdP POST 会向我的 SP 发送失败消息吗?

如果是这样,这个有效负载的常规术语是什么?它是否仍被称为 SAML 断言但包含某种失败语法差异,或者它是一种完全不同类型的 SAML 有效负载,称为其他东西?成功和失败的有效负载是否都发送到同一个 SP 端点?

谢谢!

您从身份提供者那里得到的东西总是 SAML 响应。如果响应成功,您将得到一个断言。如果响应失败,您会收到从 IdP 传递的错误消息...除了典型的 SAML 消息格式之外,这些响应没有真正的“标准”。

绑定规范的

Section 3.5.6 描述了对 POST 配置文件的期望。每个配置文件都会为此提供,但作为 SP,在大多数情况下,您将使用此绑定。

部分 3.2.2 of Core 定义了 StatusResponseType - 实际上,在各种情况下应发送的响应状态代码、状态消息和状态详细信息。应该注意的是,大多数 IdP 会简单地 return urn:oasis:names:tc:SAML:2.0:status:AuthnFailed 状态代码,然后 可能 状态消息或详细信息字段中的一些其他详细信息......但是你不能指望更多的代码。

是的,响应将总是转到典型的 SAML 协议端点,无论它们的状态如何。