4

我有一个使用 Shibboleth 进行身份验证的产品。

当用户在网站上发起注销时

  1. Web 服务器向 Shibboleth SP 发送注销请求。
  2. SP 在收到请求时删除 cookie 帖子。
  3. 但是,如果用户返回网站,则不会提示登录页面

对于下面显示的配置,我使用的是这里给出的 Shibboleth 服务提供商 https://www.testshib.org/install.html#SP。它被配置为使用 testhib.org IdP 的详细信息,可以在此处阅读

Shibboleth 注销

我相信 IdP 不会删除其会话 cookie 并在第 3 步重新登录用户。

有关 IdP Cookie 的更多信息:

这个wiki-source声明 IdP 使用两个 cookie _idp_authn_lc_key,这些 cookie 在身份验证后被删除。第二个是会话cookie“_idp_session”,它声明:

一旦用户通过身份验证,他们将与 IdP 进行长期会话,该会话由名为 _idp_session 的 cookie 跟踪。此 cookie 仅包含识别用户的 IdP 会话所需的信息。此 cookie 创建为“会话”cookie,当浏览器选择删除此类 cookie 时(通常在浏览器关闭时)将被删除。

我的问题是

  • 我需要在 SP 上进行哪些更改以请求 IdP 删除相同内容并有效地创建GLOBAL LOGOUT
4

1 回答 1

2

对于它的价值,您将很难强迫 IdP 注销用户。cookie 方法是一个实现细节,并非所有 IdP 都使用它,它可能会改变。一些 IdP 可能会提供一个注销 URL,但老实说,这对用户来说可能是一件坏事(你能想象如果你能想出一种方法来不断地取消对用户的授权,不仅是你的网站,还有他们与任何其他 SP 的会话?)。您实际上只能控制自己在服务提供商上的会话。

当您的用户返回/返回您的SP时,为什么不强制重新认证?如果他们最近在访问后没有通过 IdP 的身份验证(这是您从 SAML 交换返回的字段),只需将它们再次发送回 IdP 并传递强制重新验证标志。

如果您使用的是 Shibboleth 软件,它甚至内置于: https ://wiki.cac.washington.edu/display/infra/Configure+a+Service+Provider+to+Force+Re-Authentication

于 2014-09-11T02:45:42.057 回答