连接多个应用程序的单个用户id和密码


Single user id and password to connect multiple application

[场景]
我已经有5个PHP5.3+应用程序(例如:App-A、App-B、App-C、App-D和App-E)正在运行。在这里,每个应用程序都有自己的登录用户id和密码。

[新要求]
现在,我想实现登录到所有这些应用程序的单个用户id和密码(通过使用App-A)。比方说:我想像往常一样登录到App-A,登录后,我只需点击App-A上的图标(登录后)就可以点击到其他应用程序(B、C、D和E)。而且,我的用户不应该是通过App-B、C、D或E登录的苹果。他们总是需要通过App-A连接。

[背景]
-所有这些应用程序都运行在不同的域上,但运行在同一台服务器上
-管理员将能够为特定用户启用/禁用特定应用程序

有人做过类似的事情吗?或者有人有什么建议,请提出。

这是一个非常好的问题,并以不同的方式对您的问题进行了小型研究:

OAuth:

在阅读了文档并通过了许多服务提供商之后,这是不可能的。Oauth服务提供商提供使用者密钥和机密,他们检查来自域的请求,从而检查是否在不同的域名上使用了相同的Oauth使用者密钥,但这些密钥不起作用。

设置Cookie多个域

简单地说,在不访问域的情况下,通过任何方式都不可能设置cookie

因此,我可以说,不可能为多个域设置cookie或使用相同的消费者密钥和机密

替代方式

  1. 使用HTML5 Web存储来存储信息,然后访问来自不同域的信息是可能的。

  2. 使用AJAX/CURL发送为不同域设置cookie的请求,例如example.com/session_cookie.php?信息=xxxxx

  3. 为所有域维护一个子域/页面,用于跨所有域登录。