SAML 2.0 IsPassive 选项

SAML 2.0 IsPassive option

在基于 Apache Tomcat SAML 2.0 的单点登录 (SSO) 上工作时,我在 SAML 2.0 身份验证请求下遇到了名为 'IsPassive' 的 属性。 SAML 2.0 规范介绍如下:

IsPassive [Optional] A Boolean value. If "true", the identity provider and the user agent itself MUST NOT visibly take control of the user interface from the requester and interact with the presenter in a noticeable fashion. If a value is not provided, the default is "false".

就单点登录场景而言,此定义的最准确含义或示例是什么?此 属性 是否与单点登录中的主动配置文件和被动配置文件有关?

首先,这与主动或被动单点登录无关。通常 "Active" 是指基于 Web 服务的 SSO(我通常会考虑桌面客户端应用程序),而 "Passive" 通常是指基于浏览器的 SSO。

其次,通过发送 IsPassive=True,SP 实质上是在告诉 IDP,"Authenticate this user only if you can do it without have the user involved." 我认为 Web SSO 最常见的方法可能是 Kerberos(集成 Windows Auth)或 x509。或者,如果 IDP 已经对用户进行了身份验证并且用户有一个有效的会话可以重新用于给定的 SP AuthnRequest,那么这符合 IsPassive=true 要求 IIRC。