Сервис-провайдер ForceAuthn не работает в Chrome (но в InternetExplorer и Edge) - PullRequest
0 голосов
/ 09 января 2019

При использовании ForceAuthn = true в AuthnRequest запрос на повторную аутентификацию (в моем случае сертификат клиента через смарт-карту) работает, как и ожидалось, в Internet Explorer 11 и Edge, но не в Chrome. Chrome просто регистрирует меня без всякого приглашения.

Я проверил все возможные настройки в Chrome, я перепробовал все, что нашел в AuthnRequest (установка явных AuthnContextClassRef и / или AuthnContextDeclRef), но не могу заставить его работать.

Кто-нибудь знает, что проверять / искать?

Я даже удалил файлы cookie в chrome после первого входа в систему, но все же chrome зарегистрировал меня только при втором входе в систему

1 Ответ

0 голосов
/ 08 марта 2019

Извините за столь поздний ответ. Одним из возможных объяснений может быть то, что IdP не поддерживает контекст аутентификации, заданный в AuthnContextClassRef, а поставщик услуг имеет недостатки и не проверяет код состояния ответа SAML.

Например, если 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 должен затем отклонить.

Проследили ли вы запрос и ответ SAML с помощью плагина трассировки SAML в Chrome? И проверил, что в запросе действительно допустимый XML?

...