Проблема взаимодействия SP-IdP: я не перенаправлен обратно на веб-сайт SP - PullRequest
0 голосов
/ 24 ноября 2011

Я новичок в SSO и ADFS, поэтому я попытался сначала запустить это руководство: AD FS 2.0 Федерация с пошаговым руководством для приложения WIF . Это руководство подразумевает, что для его запуска используется одна машина, но я запускаю Identity Provider (IdP) и Service Provider (SP) на 2 отдельных машинах. У меня возникла проблема на последнем этапе, когда 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%3d0%26id%3dpassive%26ru%3d%252fClaimsAwareWebAppWithManagedSTS%252fdefault.aspx&wct=2011-11-23T21%3a59%3a56Z HTTP / 1.1 ...

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

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

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

Спасибо

Ответы [ 2 ]

0 голосов
/ 01 декабря 2011

Проблема решена. Это из-за запуска Fiddler.

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

0 голосов
/ 24 ноября 2011

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

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

С вашего сервера RP вы можете перейти на https://{your_federation_service_name}/federationmetadata/2007-06/federationmetadata.xml?

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

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

В ADFS дважды щелкните свой RP. Проверьте правильность URL-адреса на вкладке «Идентификаторы».

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

...