Необработанная разметка отображается в Chrome вместо перенаправления единого входа - IdentityProvider.SendSAMLResponseByHTTPPost

Мы используем ComponentSpace.SAML2.Profiles.SSOBrowser.IdentityProvider и вызываем SendSAMLResponseByHTTPPost для выполнения единого входа и перенаправления пользователя на другой URL.

Это нормально работает в IE и Firefox, но в Chrome в браузере отображается следующее

<html xmlns="http://www.w3.org/1999/xhtml">
    <body onload="document.forms.samlform.submit()">
        <noscript>
            <p><strong>Note:</strong> Since your browser does not support Javascript, you must press the Continue button once to proceed.</p>
        </noscript>
        <form id="samlform" action="https://REDACTED URL" method="post">
        <div>
            <input type="hidden" name="SAMLResponse" value="REDACTED SAMLResponse"/>
            <input type="hidden" name="RelayState" value="https://REDACTED URL"/>
        </div>
        <noscript>
            <div><input type="submit" value="Continue"/></div>
        </noscript>
        </form>
    </body>
</html>

Это работает на Chrome в локальной среде с тем же кодом.

Есть некоторые проблемы с сертификатами SSL в среде, где мы испытываем проблему. Не уверен, что это может быть связано - является ли Chrome более строгим по сравнению с другими браузерами?

2 ответа

Решение

Это связано с тем, что присутствовал заголовок "x-content-type-options: nosniff", который не позволяет Chrome самостоятельно определять тип MIME. Явное добавление заголовка Content-Type решило проблему. https://www.owasp.org/index.php/List_of_useful_HTTP_headers

Спасибо за информацию.

Мы не видели этого с Chrome или любым другим браузером.

Отслеживая HTTP-трафик, я вижу, что включен следующий заголовок:

Content-Type: text / html; кодировка = UTF-8

Интересно, если в вашем сценарии промежуточный узел лишил этот заголовок?

Другие вопросы по тегам