考虑我有一个n因素身份验证:
SAML:AuthnContextClassRef urn:oasis:names:tc:SAML:2.0:ac:classes:Password ... saml:AuthnContextClassRef urn:oasis:names:tc:SAML:2.0:ac:classes:TimesyncToken
如何在响应中指明每个结果? 我需要断言吗?我不想依靠单个StatusCode来表示最终结果。
答案 0 :(得分:0)
编辑:这个答案是错误的,因为一个响应只能有一个 AuthnContextClassRef元素在注释中指出。一会儿 必须包含
AuthnContextDecl
嵌套元素和值 这是SP和IDP之间达成的协议。谢谢@Patrick
您可以在SAML响应中包含多个AuthnContextClassRef
元素,作为AuthnStatement
中Assertion
的一部分,例如:
<AuthnContext>
<AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:Password
</AuthnContextClassRef>
<AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:TimesyncToken
</AuthnContextClassRef>
</AuthnContext>
那些代表“背景”wrt。身份验证事件。如果某些因素是可选的,那么您只会包含成功的因素,而忽略那些未成功或未触发的因素。
StatusCode
实际上与此无关,表明整体身份验证成功/失败。