在 AuthnRequest 中包含 AuthnContextDeclRef

Include AuthnContextDeclRef in the AuthnRequest

我们需要支持多个 SP 的多个登录页面。 一个登录页面将是默认页面,其他页面将是特定于服务提供商的,例如: SP1 将有一个默认配置,authn 请求将解析到 IDP 中维护的默认登录页面。 SP2 会在 authn 请求中要求一个登录页面 B,IDP 必须同意。

通常这应该可以在 IDP 端配置,保证不会更改 SP,但是我们的 IDP 不支持此 "feautre"。 因此,我们的 IDP 支持人员建议我们包括

<samlp:RequestedAuthnContext Comparison="exact">
<saml:AuthnContextDeclRef>blah/blah/blah</saml:AuthnContextDeclRef>
</samlp:RequestedAuthnContext>

在身份验证请求中。 Spring SAML 确实为我们提供了通过 WebSSOProfileOptions 配置比较属性的选项;但是我正在为 AuthnContextDeclRef 苦苦挣扎。

我测试成功的一个解决方案是扩展 WebSSOProfileImpl class 并覆盖 buildAuthnContext 方法,但是我想知道是否有更好的解决方案。 提前致谢。

您可以扩展 class WebSSOProfileImpl 并覆盖方法 buildAuthnContext,您可以在其中以编程方式添加所需的 AuthnContextDeclRef 元素。

您也可以打开 feature request,或联系 Spring SAML 的商业支持。