Php moodle 3.1版与amember的集成

Php moodle 3.1版与amember的集成,php,api,moodle,amember,Php,Api,Moodle,Amember,在我们的系统中,我们希望将moodle插件(3.1版)与amember集成。我们在moodle中有一些用户的密码是加密格式的,我们希望在不使用api更改用户密码的情况下将这些用户导入amember 有谁能提出一个我们如何处理这个问题的方法吗 我正在使用以下代码在amember中创建用户。它成功地在amember中创建了用户,但当我尝试登录时,它被拒绝 $url = 'http://YOURDOMAIN.COM/amember/api/users'; $fields = array( '_key

在我们的系统中,我们希望将moodle插件(3.1版)与amember集成。我们在moodle中有一些用户的密码是加密格式的,我们希望在不使用api更改用户密码的情况下将这些用户导入amember

有谁能提出一个我们如何处理这个问题的方法吗

我正在使用以下代码在amember中创建用户。它成功地在amember中创建了用户,但当我尝试登录时,它被拒绝

$url = 'http://YOURDOMAIN.COM/amember/api/users';

$fields = array(
'_key' => 'SECRETKEY',
'_format' => 'xml',
'login' => 'USERNAME',
'pass' => 'PASSWORD',
'email' => 'EMAIL',
'name_f' => 'FIRST NAME',
'name_l' => 'LAST NAME',
);
 //open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));
 curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: application/x-  www-form-urlencoded"));

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);

提前感谢。

由于moodle中的密码是加密的,您将无法解密密码。当我阅读您的代码时,amemberapi在创建用户时需要一个普通密码


我看到的唯一解决办法是在moodle中有一个自己的身份验证插件。一旦现有moodle用户尝试登录,就会调用此插件。然后,您可以使用user_login方法根据moodle数据库验证密码。此外,在此阶段,您拥有明文密码,因此您可以创建一个新的amember用户,一旦登录成功

您就不需要使用API来导入用户

aMember有一个管理工具,允许您从CSV文件导入用户。 此工具允许您使用加密/哈希密码导入用户

aMember CP->用户->导入用户

您可以将用户从moodle数据库导出到CSV文件

在导入之前,您需要在amber中启用moodle集成插件