Session 使用oAuth2或共享会话进行单点登录
我有三个面向客户端的web应用程序,它们都位于不同的子域上(其中一个web应用程序实际上有700多个子域,这些子域一直在变化)。我已经编写了一个oAuth服务器,我将使用它允许用户登录到这些系统中的每一个;这是可行的,但我已经开始发现,在编写注销代码时,正在发生的事情与我希望的行为之间存在差异 我对单点登录的一些要求是:Session 使用oAuth2或共享会话进行单点登录,session,oauth,oauth-2.0,openid,single-sign-on,Session,Oauth,Oauth 2.0,Openid,Single Sign On,我有三个面向客户端的web应用程序,它们都位于不同的子域上(其中一个web应用程序实际上有700多个子域,这些子域一直在变化)。我已经编写了一个oAuth服务器,我将使用它允许用户登录到这些系统中的每一个;这是可行的,但我已经开始发现,在编写注销代码时,正在发生的事情与我希望的行为之间存在差异 我对单点登录的一些要求是: 如果登录到一个系统,那么您将登录到所有系统(显然) 如果从一个系统注销,则您将从所有系统注销。甚至跨子域 例如,如果你在两台不同的机器上登录——一台手机和一台台式机。在手机上
- 如果登录到一个系统,那么您将登录到所有系统(显然)
- 如果从一个系统注销,则您将从所有系统注销。甚至跨子域
- 例如,如果你在两台不同的机器上登录——一台手机和一台台式机。在手机上注销时,不要在桌面上注销
这两种方法的优缺点是什么?你还有其他的方法吗?有没有考虑安全风险?并发性和可伸缩性考虑因素?请帮忙 我会选择有差异的oauth路线
- 这是一个相当标准的方法
- CON2可以解决(添加访问令牌属性等)
- 比OAuth更简单
- 关于会话/cookie处理的安全约束
- 后期添加更多用例的可扩展性是有限的