这是SAML的正确用例吗?

时间:2011-09-21 06:30:20

标签: authentication saml saml-2.0

我有几个身份提供商需要输入最终用户的一些信息进行身份验证。

当用户点击服务提供商网页中的“使用身份验证...”按钮时,他会使用SAML AuthnRequest重定向到选定的身份提供商。

然后,身份提供商会显示一个网页,他要求提交一个包含某些字段的表单,例如:Firsname,Lastname,Address,然后检查一个人是否真的按照该地址生活。

如果检查成功,则返回SAML响应,状态为Success,Firsname,Lastname,Address作为属性返回。

如果检查失败,则返回SAML响应,其状态为AuthnFailed,具有相同的属性。

我的问题是它是否正确使用SAML?

我应该如何正确配置它以便每次都要求身份验证(不应该建立与身份提供者的会话)?

1 个答案:

答案 0 :(得分:3)

您基本上是正确的,它是有效的用例。但是,如果Auth在IDP失败,您将收到状态为“失败”的SAMLResponse消息(可能是“urn:oasis:names:tc:SAML:2.0:status:AuthnFailed”并且未返回任何用户信息(因为Auth失败) )。

在您的SP生成的AuthnRequest中,您可以设置可选的ForceAuthn = true属性。如果它被IDP支持并设置为“”true“,身份提供者必​​须直接验证演示者,而不是依赖于先前的安全上下文。如果没有提供值,则默认为”false“。但是,如果ForceAuthn和IsPassive都是“真实的”,除非能够满足IsPassive的限制,否则身份提供者不得对发布者进行新的身份验证。“ (来自SAML 2.0核心规范中的第3.4.1节元素)。

HTH - Ian