相关疑难解决方法(0)

OpenID Connect最终会取代SAML成为SSO的主要协议吗?

我在一些文章中看到,据说OpenID Connect将取代SAML作为SSO的主要协议.我不确定openID connect如何处理与不同服务提供商的会话管理功能以及如何使用它来实现单点注销?目前,是否有支持OpenID连接的IDM服务器(开源或商用)作为SSO IDP(作为SAML2 SSO IDP的替代品)?

security openid saml single-sign-on openid-connect

14
推荐指数
1
解决办法
5668
查看次数

使用OAuth 2进行单点注销

我们刚刚讨论了使用OAuth 2时的登录和注销行为.假设我们有两个webapp AB使用一个OAuth提供程序O(使用spring-security-oauth2堆栈构建).

当您想要登录时,A您将被重定向到O,输入您的凭据,在那里获得会话O,重定向回A使用访问令牌,并且还创建会话A.

现在,当您想要登录时,B您被重定向到O,直接用令牌发送回B,因为您仍然有一个有效的sesison O并且也创建了会话B(无需再次输入您的凭据).

这解决了我们的单点登录问题.

现在的一个要求是,当您退出时,A 或者 B您从两个/所有应用程序中注销(单点注销).

我们的想法是:

  • 使用当前会话ID增强访问令牌
  • 如果应用AB想要注销用户,他们会将其重定向到注销页面O
  • 如果用户退出O,O则删除属于当前会话的所有访问令牌,并将用户重定向回AB
  • 会议开始A或被B破坏
  • AB检查每个请求上OAuth访问令牌的有效性,如果令牌无效,则销毁其会话

您认为这是OAuth 2的有效用例吗?您如何以不同方式实施单点注销?

oauth logout oauth-2.0 spring-security-oauth2

11
推荐指数
1
解决办法
9189
查看次数