Shibboleth SP авто IdP обнаружение из электронной почты пользователя
Я использую Shibboleth SP (провайдер услуг) с несколькими IdP (провайдерами идентификации). В настоящее время я использую SP EDS (Embedded Discovery Service) для предоставления списка доступных IdP.
Есть ли способ (в EDS или нет) автоматически перенаправить пользователя на адекватный IdP в зависимости от его почтового домена? В этом случае у пользователя запрашивается его адрес электронной почты / логин; затем домен извлекается и используется для определения правильного IdP.
Спасибо вам за ваши предложения.
1 ответ
Возможно, вам придется что-то кодировать, чтобы извлечь домен из электронной почты.
Это может помочь вам,
В файле Shibboleth.xml сопоставьте домен с другим idp или сопоставьте безопасный путь с другим idp.
Давайте скажем example.com/secure1 для сопоставления с example-idp1.com и example.com/secure2 для example-idp2.com.
Затем, когда пользователь user1@example1.com пытается войти, перенаправьте его на example.com/secure1, чтобы он автоматически перешел на example.com/secure1. И наоборот.
Если вы хотите понять, как настроить несколько путей, вот пример, взятый с официального сайта.
<RequestMap applicationId="default">
<Host name="www.example.org">
<Path name="secure1" authType="shibboleth" requireSession="true"/>
</Host>
<Host name="www.example.org" applicationId="app2" authType="shibboleth" requireSession="true">
<Path name="secure2" authType="shibboleth" requireSession="true"/>
<AccessControl>
<Rule require="affiliation">faculty@osu.edu student@osu.edu</Rule>
</AccessControl>
</Host>
</RequestMap>
И создайте два приложения, как указано здесь.