gpt4 book ai didi

java - 如何创建 SSO 服务提供者?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:47:15 25 4
gpt4 key购买 nike

我不熟悉单点登录的概念。我们已经有一个管理其用户的 Java Web 应用程序。现在的要求是,身份验证将由客户端的 SSO Idp(使用 SAML)提供,之后请求将被转发到我们的应用程序。由于我以前没有实现过类似的东西,我需要澄清以下查询才能继续:

  1. 如何检查请求是否来自 SSO IdP 的身份验证?
  2. 如何管理 session ?因为 session 将在客户端创建。
  3. 如果他们点击注销,是留在我们的应用程序中还是重定向到他们的应用程序以便用户访问我们的应用程序更好?

客户端有一个内部应用程序,其中包含指向许多使用相同 SSO IdP 的应用程序的链接。用户无法直接访问互联网。

任何有助于我理解从 IdP 端启动的 SSO 的教程或起点都会有所帮助。

谢谢。

最佳答案

SSO 我通常使用现成的 SSO 产品完成,例如 OpenAM 或 shibboleth

  1. 这因产品而异,但通常情况下,应用程序会安装一个充当过滤器的代理,检查用户是否通过 IDP 的身份验证,如果没有,过滤器会将用户重定向到 IDP。
  2. 通常在 SSO 产品中有一个经过身份验证的 session ,它只保持身份验证状态,您的应用程序上仍然有一个 session 来保存应用程序特定的用户信息。
  3. 这也可以由产品处理。注销一般有两种方式。通过重定向或 SOAP。使用重定向,用户将被重定向到 IDP,然后是其登录的不同 SP。在 SOAP 中,您的应用程序对 IDP 进行 Web 服务调用,请求注销。 IDP 然后向其他 SP 发送注销请求。重定向是推荐的方法。

我推荐阅读 technical overview on SAML from Oasis

在我的博客上,我有一些帖子介绍了 SAML

A short introduction to SAML

SAML Web Profile

在我的书中,A Guide To OpenSAML ,我也写了很多关于这个

关于java - 如何创建 SSO 服务提供者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22782484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com