Php 网页的单点登录

Php 网页的单点登录,php,authentication,web,autologin,Php,Authentication,Web,Autologin,我已经研究过这个问题,但主要是那些只需点击一下就可以登录到谷歌或facebook等网站的人 我的问题是: 我有两个网站。两个站点都有自己的登录页面(即login.php)。两个站点都有相同的用户名。我可以控制这两个站点(我可以更改它们的代码)。 我想在用户单击服务器a上的链接时登录到服务器B 我曾考虑过让一台服务器向另一台服务器发送post请求,但另一台服务器将创建一个与此服务器的会话,而不是与客户端计算机的会话 我想做的是创建一个与当前登录脚本通信的代理登录页面 如果可能的话,我需要这在php

我已经研究过这个问题,但主要是那些只需点击一下就可以登录到谷歌或facebook等网站的人

我的问题是:

我有两个网站。两个站点都有自己的登录页面(即login.php)。两个站点都有相同的用户名。我可以控制这两个站点(我可以更改它们的代码)。 我想在用户单击服务器a上的链接时登录到服务器B

我曾考虑过让一台服务器向另一台服务器发送post请求,但另一台服务器将创建一个与此服务器的会话,而不是与客户端计算机的会话

我想做的是创建一个与当前登录脚本通信的代理登录页面

如果可能的话,我需要这在php完成

有什么建议/想法/链接吗


谢谢你

你应该看看它的功能

系统的工作方式是,当您登录到项目时,将创建一个令牌并将其存储在共享数据库中。然后通过图像将该令牌放入登录成功页面。例如,此HTML将导致对元项目的请求:

<img src="http://meta.wikimedia.org/wiki/Special:AutoLogin?token=TOKENTOKENTOKEN" alt="meta.wikimedia.org" title="meta.wikimedia.org">


然后,用户使用附加到映像的令牌发出请求,这会导致生成的项目验证该用户并为该域提供用户cookies。

链接页面上的第四行指出,CentralAuth没有提供单一登录的解决方案,或者我误解了这句话(我的母语不是英语,所以这是很有可能的)@该位所指的是Chaosekie,而不是CentralAuth。好的,谢谢,所以我应该向用户发送一个令牌,用户使用该令牌向另一台服务器发送登录请求?我应该将该令牌存储在页面上的某个位置,并使用js将其提取并在新请求中使用它。但是,我应该将什么编码到该令牌中,以保护来自另一个用户的登录请求是否接收并使用它登录到远程服务器?@Chaosekie您需要将令牌存储在数据库中,或者使用某种机制在站点之间检索令牌(HTTP请求可能使用共享密钥)。但是,该令牌应通过其标识符以及会话的当前IP地址链接回用户。令牌本身可以是任何东西,只要对其进行哈希处理并针对每个请求进行更改。只要您检查IP地址,您应该能够很好地处理大多数请求,但是如果您关心实现HTTPS,则是最重要的真是太好了。谢谢你,你救了我!12:07我在这里。明天我将实施这一切。