php - 多个站点的单一登录
问题描述
我想同步登录功能。
如果用户从一个站点登录,那么该用户也会自动登录到另一个站点。
我已经使用电子邮件和密码字段向我的另一个域发送了 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']
是空的。
我怎样才能完成这项任务?
解决方案
更改代码:
$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
推荐阅读
- excel - VBA,如何打开新的excel实例
- angular - Angular 13 - 登录后菜单项不可见侧边栏组件
- bash - 等待使用任务集创建的流程完成
- php - 使用 Doxygen 将 PHP 源代码导出为 PDF
- sql - 如何摆脱oracle apex中丢失的左括号?
- android - Google Play 游戏服务是否使用 Android 广告 ID?
- numbers - tikz中数字的垂直对齐
- graphql - 更改查询变量时 Apollo 缓存未更新
- tensorflow - 如何在深度学习中手动拆分数据时评估模型?
- sharepoint - Sharepoint 阻止 xcallback-commands?