Настройка авторизации в системе дистанционного обучения Moodle через сервис Trusted.ID

Создание приложения в сервисе Trusted.ID для авторизации в Moodle

  1. Для создания приложения пользователь должен быть зарегистрирован в сервисе, в данном случае в сервисе Trusted.ID. Для прохождения регистрации обратитесь к инструкции.

  2. Авторизуемся в сервисе Trusted.ID, переходим на вкладку Мои приложения и добавляем приложение типа API, иконка которого появляется в правом нижнем углу окна. apiico.png

  3. В открывшейся форме создания приложения заполняем поля следующим образом:

  • Название — произвольное значение
  • URL сайта — https://<домен инсталляции moodle>
  • URL контроллера авторизации — https://<домен инсталляции moodle>/admin/oauth2callback.php
  1. Также запоминаем сгенерированный пароль приложения или меняем его на свой. Сохраняем данную форму и запоминаем присвоенный приложению clientid.

apiapp.png

clientidapp.png

Настройка авторизации Trusted.ID в Moodle

Связывание приложения Trusted.ID с настройками Moodle

Для настройки авторизации пользователей сервиса потребуются права администратора в системе управления обучением Moodle.

  1. Заходим в инсталляцию Moodle с административными правами и переходим в меню по следующему пути: Администрирование — Плагины — Аутентификация и активируем плагин Oauth2 кликом по иконке в столбце Включить. oauth2.png

  2. После этого переходим в раздел Службы OAuth2 (Администрирование — Сервер — Службы — OAuth2) и выбираем создание кастомного провайдера, кликнув по кнопке Custom. custom.png

  3. Откроется основное меню создания провайдера OAuth 2.0, в котором необходимо заполнить поля:

  • Название — отображаемое название сервиса авторизации (задается произвольно);
  • ID пользователя — clientid приложения, созданного в сервисе Trusted.ID;
  • Пароль клиента — clientsecret приложения, созданного в сервисе Trusted.ID;
  • URL-адрес логотипа — путь к желаемому логотипу, которое будет отображаться рядом с названием (см. поле выше);
  • Эта служба может использоваться — “Страница входа и справочные службы”;
  • Области, включенные в запрос на вход — проставить значение “userprofile” (без кавычек);
  • Области, включенные в запрос на вход для автономного доступа — проставить значение userprofile;

и сохранить изменения. mainsettings.png

  1. Система вернет администратора на окно со списком OAuth 2 провайдеров. Для продолжения настройки осуществляем клик по иконке эндпойнтов в строке с только что созданным провайдером. endpointico.png

  2. Эндпойнты представляют из себя связанную пару по типу: ключ-значение. В открывшемся окне последовательно добавляем три эндпойнта для провайдера путем нажатия кнопки Создать новую конечную точку…, где в качестве ключа выступает название эндпойнта, а значением — URL

  • authorization_endpoint — https://<домен сервиса авторизации>/idp/sso/oauth
  • token_endpoint — https://<домен сервиса авторизации>/idp/sso/oauth/token
  • userinfo_endpoint — https:/<домен сервиса авторизации>/trustedapp/rest/user/profile/fullinfo enpoints.png
  1. Следующим этапом добавляем сопоставления полей пользователей между сервисом авторизации и Moodle (маппинги). Маппинги представлены парами, их цель, в данном случае, связать поля пользователя Trusted.ID и поля системы управления обучением. Имя внешнего поля — это имя поля в JSON-файле, передаваемом сервисом авторизации. Имя внутреннего поля — это имя поля пользователя в Moodle. Значение внутреннего поля выбирается из предустановленных, в раскрывающемся поле-списке. mappingslist.png

  2. Кликаем по иконке настройки маппингов mappingico.png и добавляем три сопоставления:

  • email — email;
  • givenName — firstname;
  • familyName — lastname; где второй элемент в паре — имя внутреннего поля. mapping.png
  1. В окне со списком OAuth 2 провайдеров убеждаемся, что провайдер активен: иконка глаза не перечеркнута. oauthenabled.png

Настройка отправки почты в Moodle

Дальнейшие шаги описаны исходя из предположения, что администратор Moodle только что развернул инсталляцию и настройки отправки почты еще не заполнены в системе управления обучением.

  1. При первом заходе пользователя через сервис Trusted.ID в Moodle под него создается пользователь (при условии, что ранее пользователь с данным email отсутствовал в базе Moodle) и для активации данного профиля отправляется письмо на email, указанный у пользователя Trusted.ID.

  2. Для отправки писем в Moodle необходимо заполнить несколько полей. Переходим в меню по пути Администрирование — Сервер — Электронная почта — Настройка исходящей почты и заполняем следующие поля:

  • SMTP-серверы — в данном поле вводим полное имя smtp-сервера, включая порт через двоеточие;
  • Безопасность SMTP — выбираем нужное значение из поля-списка;
  • Тип аутентификации SMTP — выбираем нужное значение. В случае выбора типа аутентификации LOGIN заполняем поля Логин SMTP и Пароль SMTP. Поле Адрес для писем, не требующих ответа рекомендуется заполнить во избежание потенциальных проблем при отправке писем. smtp.png

Примечания:

  1. В случае если пользователь уже был ранее создан в Moodle и email данного пользователя совпадает с email в профиле Trusted.ID, то письмо также будет отправлено на почтовый ящик для связывания обоих профилей.

  2. Отсутствие email в профиле Trusted.ID приведет к невозможности авторизации в Moodle, т.к. это поле является связующим для идентификации пользователя в системе.

  3. Удаление ранее привязанного к Moodle почтового ящика в Trusted.ID и добавление нового почтового ящика приведет к созданию нового пользователя в Moodle.

  4. Создание нового пользователя происходит и в случае, когда первый почтовый ящик сначала удалили, а потом добавили обратно, при этом есть второй почтовый ящик, который связан с сервисом.

  5. Авторизация пользователя происходит в случае, если к первому почтовому ящику добавили второй почтовый ящик, удалили первый почтовый ящик, после чего вернули первый почтовый ящик и удалили второй почтовый ящик.