我在一些文章中看到,据说OpenID Connect将取代SAML作为SSO的主要协议.我不确定openID connect如何处理与不同服务提供商的会话管理功能以及如何使用它来实现单点注销?目前,是否有支持OpenID连接的IDM服务器(开源或商用)作为SSO IDP(作为SAML2 SSO IDP的替代品)?
我们刚刚讨论了使用OAuth 2时的登录和注销行为.假设我们有两个webapp A并B使用一个OAuth提供程序O(使用spring-security-oauth2堆栈构建).
当您想要登录时,A您将被重定向到O,输入您的凭据,在那里获得会话O,重定向回A使用访问令牌,并且还创建会话A.
现在,当您想要登录时,B您被重定向到O,直接用令牌发送回B,因为您仍然有一个有效的sesison O并且也创建了会话B(无需再次输入您的凭据).
这解决了我们的单点登录问题.
现在的一个要求是,当您退出时,A 或者 B您从两个/所有应用程序中注销(单点注销).
我们的想法是:
A或B想要注销用户,他们会将其重定向到注销页面OO,O则删除属于当前会话的所有访问令牌,并将用户重定向回A或BA或被B破坏A并B检查每个请求上OAuth访问令牌的有效性,如果令牌无效,则销毁其会话您认为这是OAuth 2的有效用例吗?您如何以不同方式实施单点注销?