MOODLE中如何让用户自动登录

DHR*_*PTA 2 php api curl moodle moodle-api

我有一个名为 xyz.com 的门户网站和一个名为 yzx.com 的 Moodle 网站。我在两个网站上都有一些用户,它们具有相同的用户名和密码。我想要的是当用户登录名为 xyz.com 的非 Moodle 站点时,他应该自动登录到 yzx.com 即 Moodle 站点上的同一用户。

请帮助我如何向moodle发出curl或API请求,以便它在当前浏览器上自动登录。Moodle 有函数 user_login($username,$pass) 但不知道如何使用它,因为我是 Moodle 的新手。

DHR*_*PTA 5

我已经找到了解决方案,并且为了帮助其他人,我自己发布了这个答案。您可以在整个moodle文件夹中使用Moodles功能,通过我创建的api。

<?php 


require('config.php');
$name=$_REQUEST['username'];
$password=$_REQUEST['password'];
$dashboard = $CFG->wwwroot;
$user = authenticate_user_login($name, $password);
if(complete_user_login($user))
{   
    $actual_link = "http://$_SERVER[HTTP_HOST]/login/logout.php?sesskey=".$user->sesskey;
       echo json_encode(['user'=>$user,'logout'=>$actual_link],true); die;

}
else
{
   echo "not login"; die;
}



?>
Run Code Online (Sandbox Code Playgroud)

在 Moodle 的任何位置创建此文件,我在moodle的根目录中创建并使用curl点击它,使用get或post参数作为用户名和密码。