0

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

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

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

有没有人做过类似的或任何人有任何建议请提出。

4

1 回答 1

0

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

认证:

在阅读文档并通过许多服务提供商之后,这是不可能的。Oauth 服务提供者提供消费者密钥和秘密,他们检查来自域的请求,因此如果在不同的域名上使用相同的 oAuth 消费者密钥,则不起作用。

设置 Cookie 多个域

简单地说,不通过任何方式访问域就无法设置cookie

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

替代方式

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

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

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

于 2013-08-16T10:34:57.673 回答