我是单点登录概念的新手.我们已经有一个管理其用户的Java Web应用程序.现在要求验证将由客户端的SSO Idp(使用SAML)提供,之后请求将转发到我们的应用程序.由于我之前没有实现过这样的任何内容,因此我需要澄清以下查询以继续进行:
>如何在SSO IdP验证后检查请求?
>如何管理会话?因为会话将在客户端创建.
>如果他们点击退出是最好留在我们的应用程序或重定向到用户访问我们的应用程序?
客户端有一个内部应用程序,它包含许多应用程序的链接,这些应用程序使用相同的SSO IdP.用户无法直接访问互联网.
任何有助于我理解从IdP方面发起的SSO的教程或起点都会有所帮助.
谢谢.
解决方法:
SSO我通常使用现成的SSO产品,例如OpenAM或shibboleth
>这与产品不同,但通常应用程序会安装一个代理,该代理充当过滤器,检查用户是否使用IDP进行身份验证,如果不是,则过滤器会将用户重定向到IDP.
>通常,SSO产品中存在经过身份验证的会话,该会话仅保留身份验证状态,您的应用程序上仍会有会话以保留特定于应用程序的用户信息.
>这也可以由产品处理.注销通常有两种方法.通过重定向或SOAP.通过重定向,用户被重定向到IDP,然后重定向到其签名的不同SP.在SOAP中,您的应用程序对IDP进行Web服务调用,请求注销.然后,IDP将注销请求发送到其他SP.重定向是推荐的方法.
我建议阅读technical overview on SAML from Oasis
在我的博客上,我有一些帖子介绍了SAML
在我的书A Guide To OpenSAML中,我也写了很多关于此的内容