2013-07-04 41 views
0

我正在開發一個與Moodle 2.5平臺接口的Android應用程序。我需要讓用戶使用Android應用登錄。這些用戶已經在Moodle數據庫中創建。我可以通過創建我自己的PHP腳本並傳遞用戶的用戶名和密碼來訪問moodle數據庫。唯一的問題是,Moodle 2.5使用的密碼加密對我來說是未知的。我需要知道他們用什麼方法來加密他們的密碼,以便我的自定義密碼驗證可以工作。我知道它使用bcrypt,我認爲md5帶有某種鹽串。這是我的PHP代碼:爲Android應用程序創建moodle登錄

<?php 
require_once '../config.php'; 
$username=$_GET["username"]; 
$password=$_GET["password"]; 
$saltedpassword=md5($password.$CFG->passwordsaltmain); 
$count=$DB->count_records("user",array('username'=>$username,'password'=>$saltedpassword)); 
echo $count; 
?> 

它只是不會工作。由於密碼不匹配。我的問題是,我如何生成moodle正在使用的散列。任何幫助。謝謝。

回答

1

所以這裏是答案。這樣做:

<?php 
require_once '../config.php'; 
$username=$_GET["username"]; 
$password=$_GET["password"]; 
$response=""; 
$user=authenticate_user_login($username, $password); 
if(!$user->username==""){ 
    $response="1"; 
}else{ 
    $response="0"; 
} 
echo $response; 
?> 

請確保您包含config.php Moodle文件。然後訪問authenticate_user_login Moodle身份驗證插件功能。 DONE! 謝謝。