我有三个面向客户端的 Web 应用程序,它们都位于不同的子域上(其中一个 Web 应用程序实际上有 700 多个不同的子域,而且这些子域一直在变化)。我已经编写了一个 oAuth 服务器,我将使用它来允许用户登录到每个系统;这是可行的,但是我开始遇到正在发生的事情和我在编写注销代码时希望的实际行为之间的差异。
我对单点登录的一些要求是:
我们已经编写了 oAuth 提供程序,并且将其用于未耦合到我们的域(API 等)的项目,但我并不完全相信 oAuth 是满足上述要求的最佳解决方案。我想也许共享会议会更好。共享会话的想法将涉及存储在主域上的 cookie,其中包含有关当前登录用户的信息。
这两种方法的优点和缺点是什么?您还可以采取其他方法吗?是否存在需要考虑的安全风险?并发性和可扩展性考虑因素?请帮忙!