Как Single-logout работает с OKTA (IDP) -Shibboleth (SP) -App - PullRequest
0 голосов
/ 08 мая 2019

ОКТА-Шибболет (Апач) -Накиса (Томкат)

SSO работает для входа в систему. Теперь мне нужно настроить Logout. Таким образом, пользователь выходит из приложения, пользователь должен быть перенаправлен на страницу OKTA с плитками.

Но в настоящее время пользователь снова перенаправляется в приложение.

Он отправляет пользователя в /logout?redirect=default.html, но этот default.html фиксируется правилом Apache и регистрирует пользователя обратно.

Похоже, он должен ударить https://xxxx/Shibboleth.sso/Logout. Когда я получаю доступ к этому URL, он говорит, что выход из системы успешно завершен, хотя он не возвращается в OKTA. Означает ли это, что в настройках выхода из приложения им нужно перенаправить на это?

Но как заставить пользователя снова вернуться в IdP (т. Е. OKTA)?

Это то, что я предполагаю, что это произойдет.

Logout button click > logout from Shibboleth > return to OKTA so user can click other tiles. 

Что-то для настройки Shibboleth2.xml? Документ говорит, что мне просто нужно настроить следующее, которое есть по умолчанию.

<!-- SAML and local-only logout. -->
        <Logout>SAML2 Local</Logout>

Но как он перенаправляет пользователя в OKTA (IdP) после завершения выхода пользователя из системы? Это настроено в метаданных IdP?

1 Ответ

1 голос
/ 09 мая 2019

Вы можете перенаправить пользователя после локального события выхода из системы куда угодно, передав параметр ?return= в URL-адрес, то есть вы должны обновить ссылку для выхода из системы:

https://xxxx/Shibboleth.sso/Logout?return=https%3A%2F%2Fgoogle.com

чтобы перенаправить людей в Google после выхода из системы.

Теперь вам нужен только URL-адрес Okta, чтобы вернуть людей в ..., поэтому я думаю, если клиент Okta вашего клиента - "foobar.okta.com"перенаправление их после локального выхода на страницу входа в Okta не должно запрашивать их вход в систему, поскольку у них уже будет сеанс Okta ... так что, возможно, попробуйте:

https://xxxx/Shibboleth.sso/Logout?return=https%3A%2F%2Ffoobar.okta.com%2Flogin

OfКонечно, вам нужно будет это проверить ... но это должно сработать, и при вероятности того, что сессия Shibboleth SP пользователя была активна, а их сессия Okta аннулирована с помощью какого-то другого механизма, который просто вернет их к их обычномуСтраница входа Okta.

Очевидно, что вы можете перенаправить их на любую конечную точку с параметром return, например, с любым URL-адресом выхода Okta (если вы тоже хотите уничтожить их сеанс Okta).

Единственный выход, которыйMetadata настраивается в режиме SLO (одиночный выход), т. е. если вы этого хотите, Shibboleth может перенаправить пользователя в Okta после завершения сеанса SP, наряду со специальной полезной нагрузкой подтверждения <LogoutRequest>, которую Okta будет анализировать.и действовать любыми способами, например, убивая сеанс Okta пользователя, передавая последующие <LogoutRequest> инициируемые Okta утверждения другим поставщикам услуг и т. д. На практике это никогда не срабатывает, потому что такие конфигурации очень трудно заставить работать междувсе соответствующие стороны.

...