我正在使用spring-security-saml2库来根据SAML IdP对我的用户进行身份验证。它运行良好,但现在我只想检查用户是否使用该IdP进行了身份验证(并避免自动转发以询问用户的凭据)。
用例是我想添加其他自定义身份验证机制,并且只有在ALL机制失败后才转发到登录页面。所以我想检查一个活动的SAML会话,如果没有,那么通过OAuth检查,...,如果没有在任何地方进行身份验证,那么将用户转发到登录页面。
这是否可以使用spring-security-saml2库,或者我必须分叉/更改它?
答案 0 :(得分:0)
您可以同步SAML会话http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf。 但是,如果您从idp重定向(auhtn请求响应成功)之后进行自己的会话(使用小超时并重置每个请求的超时)会更容易
答案 1 :(得分:0)
可以将isPassive
属性添加到SAML身份验证请求中,以获取您正在寻找的行为。这是通过调用setPassive(true)
对象上的WebSSOProfileOptions
来控制的,如https://github.com/spring-projects/spring-security-saml/blob/master/core/src/test/java/org/springframework/security/saml/websso/WebSSOProfileHoKImplTest.java#L263所示。