Я пытаюсь реализовать быстрое взаимодействие между Moodle и приложением Codeigniter.
Я прошел CAS и почувствовал, что он сложный или, по крайней мере, не так быстро понять.
Поэтому я решил сделать какой-то обходной путь ... и начал с того, что отправил ajax-запрос, используя jquery с именем пользователя и паролем.
$(function(){
$.post("/moodle/login/index.php", {username:'9535953595',password:'password'}, function(data) {
console.log(data);
});
});
Когда-то это было успешно (я смог зайти на сайт Moodle без ввода данных для входа в систему ... я думаю, что он близок к SSO), и так как javascript будет предоставлять ценные данные, такие как пароль ... я решил использовать клиент curl или zend http опубликовать данные .. это сработало до некоторой степени .. он также вернул меня с домашней страницей Moodle в качестве тела результата
$client = new Zend_Http_Client('http://localhost/moodle/login/index.php');
$client->setCookieJar();
$client->setParameterPost(array(
'username' => 9535952595,
'password' => 'password'
));//POST
$response = $client->request('POST');//POST
print_r($response->getBody()); // MOODLE HOME PAGE HERE ;)
Но, похоже, проблема в установлении стабильного сеанса cookie или браузера ... php-способ dint генерирует сеанс браузера cookie или moodle ... и последующие URL-адреса moodle были недоступны ... в отличие от вызова ajax, который действительно создавал реальный вызов сессия ..
Может кто-нибудь предложить хороший способ решения этой проблемы ..