Есть ли способ для Moodle Single-Sign-On из приложения Laravel? - PullRequest
0 голосов
/ 26 марта 2019

Я настраиваю функцию единого входа для Moodle с веб-сайта Laravel.

  1. Пользователь заходит на сайт laravel

  2. Пользователь входит в систему

  3. Пользователь нажимает ссылку на Moodle

  4. Пользователь автоматически входит в Moodle без необходимости повторного ввода своего имени пользователя и пароля.

Если пользователь делает закладки или напрямую обращается к Moodle, он все равно может войти в систему непосредственно с помощьюих имя пользователя и пароль.

Я пытался использовать php cURL для добавления имени пользователя и пароля в URL для входа в систему.

$url =  "http://moodle.site.com.na/sso/login/index.php";
$postData = array('username' => $username, 'password' => $password);
try {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    curl_close($ch);
}
catch(Exception $e){
    dd($e);
}
return $response;​

При успешном однократном входе пользовательдолжен автоматически войти на сайт Moodle без повторного ввода имени пользователя и пароля.

1 Ответ

0 голосов
/ 27 марта 2019

Да - есть несколько общих решений в зависимости от ваших потребностей:

  • Использование / настройка существующего плагина аутентификации SSO - это замечательно, если вы уже внедрили определенный тип аутентификации в своем приложении- например, SAML, OAuth, OpenID и т. д .: https://moodle.org/plugins/browse.php?list=category&id=21
  • Создайте собственный подключаемый модуль аутентификации: https://docs.moodle.org/dev/Authentication_plugins

Надеюсь, что все идет хорошо!

...