0

我想通过主站点上的一个登录页面连接两个网站。

您登录 example1.com 并在我想选择“自动连接到 example2.net”的设置中输入用户名和密码并将其提交给 example2.net,以便发送用户名和密码

我该怎么做?

接下来,每当我登录到 example1.com 并单击对 example2.net 的访问时,我只想发送用户名和 API 密钥,以便它自动登录。

我该怎么做?

4

2 回答 2

2

这是一个快速算法

  1. 用户登录site1.com并激活单点登录(可能是一个复选框)。
  2. site1.com将为该选项创建一个数据库条目。
  3. 例如,用户访问site2.com,如果尚未登录,他将被重定向到site1.com/cross-authenticate.php
  4. site1.com将有权访问 cookie/会话。
  5. 如果用户激活了 Single-Sign-On 选项,site1.com将生成一个令牌(可能base64是一个非常大且安全生成的数字)并将其存储在数据库中。
  6. site1.com将用户重定向到site2.com/cross-authenticate.php?key=fnapsoufhapoer8hwf9ehrgdosughpa9dhg9aer8gyesrg例如。
  7. site2.com将检查该密钥的数据库,验证用户,然后启动一个有效的会话。
于 2012-08-13T13:47:27.510 回答
0

将等保存$_SESSION在数据库中。然后检查从一个站点到另一个站点的连接选项是否为SET。如果是这样,当用户使用其他网站时,查询数据库(针对用户名或诸如此类)。如果条目存在,则根据数据库值创建 cookie 和会话,否则将用户重新路由回登录页面。

于 2012-08-13T13:24:04.693 回答