服务提供商ForceAuthn在Chrome中不起作用(但在InternetExplorer和Edge中)

时间:2019-01-09 14:02:24

标签: google-chrome saml saml-2.0

在AuthnRequest中使用ForceAuthn = true时,重新身份验证的提示(在我的情况下为通过智能卡的客户端证书)在Internet Explorer 11和Edge中按预期工作,但在Chrome中不起作用。 Chrome浏览器只是在没有任何提示的情况下登录我。

我检查了Chrome中所有可能的设置,尝试了在AuthnRequest中找到的所有设置(设置了显式的AuthnContextClassRef和/或AuthnContextDeclRef),但是我无法使其正常工作。

有人对我有什么想法要检查/搜索吗?

我什至在第一次登录后就删除了chrome中的cookie,但chrome仍然在第二次登录时登录了我

1 个答案:

答案 0 :(得分:0)

很抱歉这么晚回复。 一种可能的解释是,如果IdP不支持AuthnContextClassRef中提供的身份验证上下文,并且服务提供者存在缺陷并且不检查SAML响应StatusCode。

例如,如果IdP不接受密码,则您发送:

<samlp:RequestedAuthnContext Comparison="exact"> 
    <saml:AuthnContextClassRef>
        urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
    </saml:AuthnContextClassRef> 
</samlp:RequestedAuthnContext>

IdP将做出响应:

<samlp:Status> 
    <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Responder"> 
        <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:NoAuthnContext" /> 
    </samlp:StatusCode> 
</samlp:Status> 

,然后SP必须拒绝。

您是否使用Chrome中的SAML跟踪插件跟踪了SAML请求和响应?并检查该请求是否实际上是有效的XML?