OKTA-Shibboleth(Apache)-Nakisa(Tomcat)
SSO正在登录。 现在,我需要配置注销。因此,用户从应用程序注销,需要将用户重定向到带磁贴的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的元数据中配置了它?
答案 0 :(得分:1)
您可以在本地注销事件之后将用户重定向到任何地方,方法是将?return=
参数传递给URL编码的目的地,即您应该将注销链接更新为:
https://xxxx/Shibboleth.sso/Logout?return=https%3A%2F%2Fgoogle.com
在注销后将人们重定向到Google。
现在,您只需要一个Okta URL即可将人员返回......所以我认为,如果您客户的Okta租户是“ foobar.okta.com”,请在本地注销后将其重定向到Okta登录页面 t 提示他们登录,因为他们已经进行了Okta会话...所以可以尝试:
https://xxxx/Shibboleth.sso/Logout?return=https%3A%2F%2Ffoobar.okta.com%2Flogin
当然,您需要测试……但它应该可以工作,并且在用户的Shibboleth SP会话处于活动状态并且他们的Okta会话通过其他某种机制无效的情况下,这只会返回他们进入常规的Okta登录页面。
您显然可以使用return
参数将它们重定向到任何端点,例如,任何Okta的注销URL(如果您也想终止其Okta会话)。
Metadata唯一可配置的注销是SLO(单一注销),即,如果您愿意,Shibboleth可以在用户完成SP会话的注销后将用户重定向到Okta,以及特殊的{{1 }}断言有效载荷,Okta可以用多种方式对其进行解析和操作,即杀死用户的Okta会话,将Okta发起的后续<LogoutRequest>
断言传播给其他服务提供商,等等。实际上,这永远不会真正起作用,因为很难在所有相关方之间使用这种配置。