Проблема взаимодействия SP-IdP: меня не перенаправляют обратно на веб-сайт SP

Я новичок в SSO и ADFS, поэтому сначала попытался запустить это руководство: Федерация AD FS 2.0 с пошаговым руководством для приложения WIF. Это руководство подразумевает, что для его запуска используется одна машина, но я запускаю поставщика удостоверений (IdP) и поставщика услуг (SP) на двух разных компьютерах. У меня возникла проблема на последнем шаге, когда IdP должен был перенаправить аутентифицированный запрос обратно на веб-сайт SP, вместо этого он возвращает HTTP 200 Ok, оставляя меня на веб-сайте IdP. Пример использования: когда я запрашиваю страницу SP в браузере (IE8), она перенаправляет меня к IdP, как и ожидалось. Он показывает мне всплывающее окно, в котором я ввожу свои учетные данные Windows. Однако вместо того, чтобы вернуть меня на веб-страницу SP, он отображает мне содержимое папки // adfsserver / adfs / ls.

Согласно Fiddler, запрос / ответы на HTTP-аутентификацию выглядят следующим образом:

GET https://adfsserver/adfs/ls/?Wa=wsignin1.0&wtrealm=https%3a%2f%2fymichurin%2fClaimsAwareWebAppWithManagedSTS%2f&wctx=rm%3DApp0%26idflaagedTSS%2f&wctx=rm%3DApp0%26idflapassive%26id%3dimpassiveA2.aspx&wct=2011-11-23T21%3a59%3a56Z HTTP / 1.1 ...

HTTP / 1.1 200 ОК ... Вот содержимое папки // adfsserver / adfs / ls

Есть идеи, что не так?

Кто-нибудь знает подобное руководство по ADFS, в котором показано, как это работает на отдельных машинах, а не на одной?

Спасибо


person YMC    schedule 23.11.2011    source источник


Ответы (2)


Он должен работать одинаково на двух серверах. Я делал это много раз.

По сути, запустите FedUtil в своем приложении. указывая на метаданные ADFS (используйте существующую службу STS), а затем настройте приложение. в качестве RP в ADFS (импорт данных о RP, опубликованных в Интернете), а затем настройте некоторые утверждения.

Можете ли вы со своего сервера RP перейти к https: // {your_federation_service_name} /federationmetadata/2007-06/federationmetadata.xml?

Можете ли вы перейти к своему приложению RP со своего сервера ADFS. (используя https)?

В вашем RP web.config убедитесь, что раздел federatedAuthentication указывает на ADFS.

В ADFS дважды щелкните свой RP. Убедитесь, что URL-адрес на вкладке "Идентификаторы" правильный.

На сервере ADFS в средстве просмотра событий просмотрите раздел «Журнал приложений и служб» / AD FS 2.0 и проверьте наличие ошибок.

person rbrayb    schedule 23.11.2011
comment
И IdP, и SP доступны для просмотра по https. Вот как выглядит моя федеративная аутентификация: <wsFederation passiveRedirectEnabled="true" issuer="https://adfsserver/adfs/ls/" realm="https://spsserver/ClaimsAwareWebAppWithManagedSTS/" requireHttps="true" />. Вкладка «Идентификаторы» тоже выглядит нормально. Ошибок в логе с обеих сторон нет - person YMC; 24.11.2011
comment
Что мне кажется странным, так это то, что нет параметра wreply как часть uri от SPS к IdP, поэтому, вероятно, IdP просто не знает, куда перенаправить пользователя. Я не вижу никакой информации о URI «Ответить на» вообще в Fiddler, ни в URI, ни в теле сообщения. - person YMC; 24.11.2011
comment
Если у вас есть VS и вы установили WIF и WIF SDK на свой dev. поле, попробуйте Файл / Новый / Веб-сайт / Веб-сайт ASP.NET с учетом утверждений, а затем выполните команду Добавить STS / Настроить RP и посмотрите, что произойдет. - person rbrayb; 24.11.2011
comment
Следует ли мне поместить этот новый веб-сайт в IIS? Или мне следует указать localhost: 51515 / ClaimsAwareWebSite1 в качестве URI приложения в мастере? На шаге STS следует выбрать опцию «Использовать существующую STS», указав имя сервера рекламы. - person YMC; 24.11.2011
comment
Щелкните проект правой кнопкой мыши, выберите «Свойства» / «Интернет» / щелкните «Использовать локальный веб-сервер IIS», а затем нажмите кнопку «Создать виртуальный каталог», чтобы поместить его в IIS. У Cassini (встроенного веб-сервера) проблемы с https. Для добавления STS используйте полное имя URI приложения, то есть Server Name / App Name, а не localhost / App Name. Затем используйте существующий STS и укажите на adfserver. - person rbrayb; 24.11.2011
comment
То, что вы только что сказали, верно для проекта типа веб-приложение, но не для веб-сайта. В маленьком окне свойств у меня нет возможности заставить его работать под IIS. Вот почему я спросил - person YMC; 24.11.2011
comment
Тот же результат, к сожалению :( Список файлов // adfsserver / adfs / ls отображается, хотя он правильно меня идентифицирует. Тот же результат с обеих сторон: при просмотре SP из SP и IdP. Похоже, что обработчик для пути adfs / ls делает не работает на стороне IdP, хотя он правильно зарегистрирован в IIS - person YMC; 24.11.2011

Вопрос решен. Это было из-за того, что он запустил Fiddler.

Кстати, я все еще не могу запустить его под FireFox, только IE работает нормально. FireFox запрашивает учетные данные, показывая мне всплывающее окно, но не хочет аутентифицировать меня, когда я ввожу правильное имя пользователя / пароль. Kerboros отлично работает для Firefox, я проверил его, создав образец веб-приложения asp.net и поместив его на тот же веб-сервер (IdP), но похоже, что каталог adfs \ ls работает по-другому, он обрабатывает учетные данные вручную, и что-то кажется неправильным с этой обработкой. Примечание Firefox не работает только в версии для Windows, Firefox для iOS работает нормально.

person YMC    schedule 30.11.2011