将用户名和密码发送到另一个站点

时间:2012-08-13 13:18:30

标签: php api authentication autologin

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

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

我该怎么做?

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

我该怎么做?

2 个答案:

答案 0 :(得分:2)

这是一个快速算法

  1. 用户登录site1.com并激活单点登录(可能是复选框)。
  2. site1.com将为该选项创建一个数据库条目。
  3. 用户访问site2.com如果尚未登录,则会将其重定向到site1.com/cross-authenticate.php
  4. site1.com可以访问Cookie /会话。
  5. 如果用户已激活单点登录选项,site1.com将生成一个令牌(可能base64一个非常大且安全生成的号码)并将其存储在数据库中。
  6. site1.com会将用户重定向到site2.com/cross-authenticate.php?key=fnapsoufhapoer8hwf9ehrgdosughpa9dhg9aer8gyesrg,例如。
  7. site2.com将检查数据库中是否有该密钥,对用户进行身份验证,然后启动有效会话。

答案 1 :(得分:0)

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