首页 > 解决方案 > 多个站点的单一登录

问题描述

我想同步登录功能。

如果用户从一个站点登录,那么该用户也会自动登录到另一个站点。

我已经使用电子邮件和密码字段向我的另一个域发送了 curl 请求,到目前为止一切正常。

我们收到一条成功消息作为响应,但是当我们在浏览器中打开该站点时,用户未登录。

$value['email'] = "email";
$value['password'] = "password";

$handle = curl_init($url);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$content = curl_exec($handle);
curl_close($handle); 

在服务器端$_SESSION['logedin_user_id'] 我们只是设置了登录用户的会话,但是当我们在浏览器中打开 url 时 $_SESSION['logedin_user_id']是空的。

我怎样才能完成这项任务?

标签: phpsessioncookiessingle-sign-on

解决方案


更改代码:

$value['email'] = "email";
$value['password'] = "password";

$handle = curl_init($url);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, http_build_query($value));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$content = curl_exec($handle);
curl_close($handle);

http_build_query($value)会将您的数组格式化为查询字符串。信息 - http_build_query


推荐阅读