小编and*_*der的帖子

使用 oAuth2 或共享会话单点登录

我有三个面向客户端的 Web 应用程序,它们都位于不同的子域上(其中一个 Web 应用程序实际上有 700 多个不同的子域,而且这些子域一直在变化)。我已经编写了一个 oAuth 服务器,我将使用它来允许用户登录到每个系统;这是可行的,但是我开始遇到正在发生的事情和我在编写注销代码时希望的实际行为之间的差异。

我对单点登录的一些要求是:

  • 如果在一个系统上登录,您就会在所有系统上登录(显然)。
  • 如果退出一个系统,您就会退出所有系统。甚至跨子域。
  • 例如,如果您在两台不同的计算机上登录,例如手机和台式机。在手机上注销时,请勿在桌面上注销。

我们已经编写了 oAuth 提供程序,并且将其用于未耦合到我们的域(API 等)的项目,但我并不完全相信 oAuth 是满足上述要求的最佳解决方案。我想也许共享会议会更好。共享会话的想法将涉及存储在主域上的 cookie,其中包含有关当前登录用户的信息。

这两种方法的优点和缺点是什么?您还可以采取其他方法吗?是否存在需要考虑的安全风险?并发性和可扩展性考虑因素?请帮忙!

openid session oauth single-sign-on oauth-2.0

5
推荐指数
1
解决办法
1990
查看次数

标签 统计

oauth ×1

oauth-2.0 ×1

openid ×1

session ×1

single-sign-on ×1