Как Single-logout работает с OKTA(IDP)-Shibboleth(SP)-App
OKTA-Шибболет (Apache) -Nakisa (Tomcat)
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 ответ
Вы можете перенаправить пользователя после локального события выхода из системы куда угодно, передав ?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
Конечно, вам нужно будет это проверить... но это должно сработать, и при вероятности того, что сессия Shibboleth SP пользователя будет активна, а сессия Okta будет аннулирована с помощью какого-то другого механизма, который просто вернет их их обычная страница входа Okta.
Очевидно, вы можете перенаправить их на любую конечную точку с помощью return
параметр, например, любой URL выхода из Okta (если вы тоже хотите убить их сеанс Okta).
Единственный выход, который настраивается с помощью метаданных, - это SLO (одиночный выход), т. Е. Если вы этого хотите, Shibboleth может перенаправить пользователя в Okta после завершения выхода из сеанса SP вместе со специальным ремеслом. <LogoutRequest>
полезная нагрузка подтверждения, которую Okta будет анализировать и действовать любым количеством способов, то есть, убивая сеанс Okta пользователя, распространяя последующее инициированное Okta <LogoutRequest>
утверждения другим поставщикам услуг и т. д. На практике это никогда не срабатывает, потому что такие конфигурации очень трудно заставить работать между всеми соответствующими сторонами.