我正在使用 drupal 7 和 REST api。我想用 curl 登录 drupal,然后当我用浏览器访问该网站时,我想登录。
我正在使用 gthis 代码:
<?php
$user_data = array(
'username' => 'usertest',
'password' => 'pass',
);
$ch = curl_init();
$tmpfname = dirname(__FILE__).'/'.$_COOKIE['PHPSESSID'].'.txt';
curl_setopt($ch, CURLOPT_URL, "http://example.com/networklogin/user/login");
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $user_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt( $ch, CURLOPT_COOKIESESSION, true );
curl_setopt( $ch, CURLOPT_COOKIEJAR, $tmpfname );
curl_setopt( $ch, CURLOPT_COOKIEFILE, $tmpfname );
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
?>
它工作得很好,它让用户登录,但是当我访问“example.com”时,我没有以“usertest”的身份登录。有什么方法可以让我登录 Drupal 并允许我使用浏览器访问?
目标是当我登录到一个网站时使用相同的用户登录到许多网站,就像我在这里写的那样(相同的网络服务器,相同的drupal,相同的数据库,单点登录?)。