具有多个AuthnContextClassRef和Response的SAML请求,指示每个的状态

问题描述 投票:0回答:1

考虑一下我有一个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来指示净结果。

saml
1个回答
0
投票
  • 编辑:这个答案是错误的,因为响应只能在注释中指出一个AuthnContextClassRef元素。必须包含一个AuthnContextDecl嵌套元素,其值与SP和IDP之间达成一致。谢谢@Patrick

您可以在SAML响应中包含多个AuthnContextClassRef元素作为AuthnStatementAssertion的一部分,例如:

<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>

那些代表了“背景”。身份验证事件。如果某些因素是可选的,那么您只会包含成功的因素,而忽略那些未成功或未触发的因素。

StatusCode实际上与此无关,表明整体认证成功/失败。

© www.soinside.com 2019 - 2024. All rights reserved.