#php #single-sign-on #moodle #laravel-5.7
#php #единый вход #moodle #laravel-5.7
Вопрос:
Я настраиваю функцию единого входа в moodle с веб-сайта laravel.
-
Пользователь получает доступ к сайту laravel
-
Пользователь входит в систему
-
Пользователь нажимает ссылку на Moodle
- Пользователь автоматически входит в 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:
Да — есть пара распространенных решений в зависимости от ваших потребностей:
- Используйте / настройте существующий плагин аутентификации единого входа — это здорово, если вы уже внедрили определенный тип аутентификации в своем приложении — например, SAML, OAuth, OpenID и т.д.:https://moodle.org/plugins/browse.php?list=categoryamp;id=21
- Создайте свой собственный плагин аутентификации: https://docs.moodle.org/dev/Authentication_plugins
Надеюсь, все пройдет хорошо!
Комментарии:
1. Мне нужна помощь в том, как это сделать, ниже приведен мой сценарий… Пользователь получает доступ к основному сайту, Пользователь регистрируется на сайте, Пользователь нажимает ссылку на Moodle (SiteB) Пользователь автоматически регистрируется в Moodle (SiteB) без необходимости повторного ввода своей информации, если пользователь делает закладки или напрямую обращается к Moodle (SiteB), он все равно может войти непосредственно туда