Я устраняю проблему, связанную с бесконечными переадресациями с помощью Kentor Authservices на стороне SP и клона Shibboleth на стороне IDP. Мой вопрос: каковы возможные причины этого и как я могу перехватить и зарегистрировать решение Кентора о перенаправлении обратно на IDP?
Причина бесконечной петли перенаправлений между IDP и SP
Ответы (1)
Обычно это происходит, когда у вас есть разделы авторизации в web.config и вы настроили ~/AuthServices/SignIn
в качестве URL-адреса для входа с помощью <authentication mode="forms">
.
Если это так, попробуйте временно настроить другой URL-адрес для входа, который не запускает перенаправление на Idp напрямую. Это может быть простая страница, содержащая только ссылку на ~/AuthServices/SignIn
.
Затем используйте Fiddler или инструменты отладки вашего браузера, чтобы увидеть последовательность перенаправления. Это правильный способ начать устранение неполадок, даже если мое предположение о настройках web.config выше неверно.
person
Anders Abel
schedule
10.07.2016
Спасибо за ваш ответ. Этот трюк помог разорвать цикл, но проблема, по сути, осталась прежней — после успешного входа в Shibboleth IDP меня перенаправляют обратно на страницу временного входа. Из журналов мне кажется, что это происходит где-то внутри библиотеки AuthServices. Я сравнил токены SAML с теми, которые я получаю от Kentor stubidp. Самая большая разница в том, что элемент Signature в SAML Kentor является корневым элементом, а SAML в IDP Shibboleth не находится в элементе Assertions. Также NameID в Shibboleth является временным идентификатором.
- person dmitreyg; 12.07.2016
Проблема решилась добавлением косой черты после returnUrl. Извините :)
- person dmitreyg; 13.07.2016
@dmitreyg не могли бы вы поделиться подробностями? Я сталкиваюсь с этой же проблемой.
- person silverArc; 15.09.2016
Подробностей немного — как я уже сказал, добавление косой черты в конце параметра конфигурации returnUrl устранило эту проблему: ‹kentor.authServices entityId=localhost:30030 returnUrl=localhost:30030›
- person dmitreyg; 20.09.2016