У меня есть пространство имен ACS с настроенным поставщиком удостоверений WS-Federation. Поскольку я использую Visual Studio 2012, я использовал средство идентификации и доступа для создания проверяющей стороны. Инструмент использует область и возвращаемые значения URL-адреса, которые я даю ему при создании проверяющей стороны (я использую URL-адрес облачной службы Azure, где развертываю свой проект, т.е. http://myapp.cloudapp.net).). После запуска инструмента в группе правил для моей проверяющей стороны есть только одно правило — Пропустить все утверждения для [проверяющей стороны]. Я протестировал ACS для своего приложения только с одним этим правилом, а также после создания всех правил для поставщика удостоверений WS-Federation.
Независимо от правил в группе правил, я получаю ошибку в заголовке своего вопроса. Мой браузер перенаправляется на ACS, однако по какой-то причине он не может найти нужную проверяющую сторону. Я создал пространство имен ACS, поставщика удостоверений и проверяющую сторону в двух разных учетных записях Azure с точно таким же результатом.
Я также попытался опубликовать свой проект в облачной службе Azure с конечными точками http и https, и обе конечные точки дают одинаковый результат.
Метаданные федерации поставщика удостоверений WS-Federation поступают из Windows Azure Active Directory.
Раздел UPDATE FederationConfiguration из web.config:
<federationConfiguration>
<cookieHandler requireSsl="false" />
<wsFederation passiveRedirectEnabled="true" issuer="https://[MyNamespace].accesscontrol.windows.net/v2/wsfederation" realm="http://[MyApp].cloudapp.net/" requireHttps="false" />
</federationConfiguration>
ОБНОВЛЕНИЕ 2: до сих пор нет решения. Похоже, проблема связана с тем, что я настроил свой собственный поставщик удостоверений ACS и загрузил метаданные федерации из Windows Azure Active Directory (WAAD) для этого провайдера удостоверений. По сути, это объединяет 2 экземпляра ACS. Когда мое приложение перенаправляется на мой ACS, оно передает URL-адрес моего приложения в качестве области. Затем мой ACS перенаправляется к поставщику удостоверений, WAAD, и передает свой собственный URL-адрес в качестве области. Вот почему ошибка, которую я получаю, имеет странную характеристику идентификатора проверяющей стороны = URL-адрес моего собственного портала администрирования ACS. Я не уверен, почему он не проходит весь путь от моего приложения до WAAD.