Как использовать экземпляр (ы) shibboleth для защиты 2 доменов - PullRequest
0 голосов
/ 15 октября 2018

Я реализую типичную классическую систему единого входа между двумя веб-сайтами на двух разных доменах.Один веб-сайт (назовем его site1) разработан и размещен партнером, второй веб-сайт (назовем его site2) разработан и размещен мной.Я использую партнерскую ADFS в качестве Idp.

Я установил и настроил Shibboleth SP3 для управления аутентификацией на сайте 2: когда я пытаюсь получить доступ к сайту 2, меня правильно перенаправляют в ADFS, и он работает.

Меня беспокоитПользователь сначала войдет на сайт site1, а затем по пути доступа к site2, и мы не хотим, чтобы он снова проходил аутентификацию.

У меня есть несколько вопросов по этому поводу, как я не знаю, как действовать: - сделатьМне нужен один и тот же экземпляр Shibboleth SP3 для управления аутентификацией на обоих сайтах, для управления файлами cookie / заголовками или для использования разных экземпляров (в этом случае я бы использовал Shibboleth для site2, а партнер будет использовать другой SP для site1)управлять перенаправлением с сайта1 на сайт2?Это может быть request.redirect?Должен ли сайт1 отправить сообщение или получить запрос с конкретными параметрами?

Спасибо!

1 Ответ

0 голосов
/ 18 октября 2018

Если партнер размещает сайт site1, он должен запустить Shibboleth в этом экземпляре и интегрировать с IdP так же, как вы на своем экземпляре, работающем на site2.

Вся цель SSO состоит в том, чтобы он нене нужно повторно авторизоваться.т.е. пользователь заходит на сайт 1, перенаправляется для входа в ADFS, выполняет авторизацию (пользователь перехватывает сеанс IdP), перенаправляется обратно на сайт 1, который проверяет токен аутентификации (утверждение SAML) и показывает им содержимое.

Теперь, когда онивыталкиваются на site2 (каким бы то ни было способом), site2 запускает запрос authnrequest к серверу ADFS как перенаправление с пользователем, но на этот раз пользователь уже имеет сеанс ADFS, поэтому сервер ADFS просто выдаетSAMLResponse.Они не заставляют пользователя снова войти в систему.

Это только потому, что оба SP интегрированы с одним и тем же IdP.

В этом случае вы можете перенаправлять пользователей так, как им хочется ... но это означает запуск экземпляров Shibboleth на обоих веб-серверах.Если вы действительно хотели использовать только один экземпляр Shibboleth, вы могли бы создать посредника SAML, где один веб-сервер распространяет утверждение SAML от имени другого, но это глупо.Проще всего запустить установку Shib, когда это два разных сервера.

Если оба сайта живут на одном сервере, вы можете сделать одно и то же, в основном ... каждый сайт - это отдельный хост на веб-сервере,и вам просто нужно настроить каждый сайт (один по умолчанию, а другой как переопределение приложения), хотя вам, вероятно, даже не нужно заходить так далеко, TBH.Вам понадобится только отдельные ApplicationOverrides, если вы хотите, скажем, интегрировать сайт 1 с IdP_A и IdP_B, но сайт 2 с IdP_A и IdP_C.Смотри: https://wiki.library.ucsf.edu/display/IAM/Steps+to+configure+multiple+context+in+Shib+SP

...