2013-07-04 3 views
0

Я разрабатываю приложение для Android, которое взаимодействует с платформой Moodle 2.5. Мне нужно включить пользователей для входа в систему с помощью приложения Android. Эти пользователи уже созданы в базе данных Moodle. Я могу получить доступ к базе данных moodle, создав свои собственные PHP-скрипты и передав имя пользователя и пароли пользователей. Единственная проблема заключается в том, что шифрование паролей Moodle 2.5 для меня неизвестно. Мне нужно знать, какой метод они использовали для шифрования своих паролей, чтобы моя пользовательская проверка пароля могла работать. Я знаю, что он использует bcrypt, и я думаю, что md5 с какой-то солевой строкой. Вот мой PHP-код:Создание moodle для Android-приложения

<?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; 
?> 

Убедитесь, что вы включили файл конфигурации Moodle config.php. Затем выполните доступ к функции плагина аутентификации аутентификации authenticate_user_login Moodle. СДЕЛАННЫЙ!!! Спасибо.

Смежные вопросы