Кому нужна авторизация через ЕСИА
Авторизация в Moodle через Госуслуги (ЕСИА — Единая система идентификации и аутентификации) актуальна прежде всего для государственных образовательных организаций: вузов с государственным финансированием, школ, подведомственных региональным органам управления образованием, и организаций ДПО, работающих с государственными программами переобучения.
Главная ценность: студент входит в Moodle тем же логином и паролем, что использует на сайте Госуслуг. Никакого отдельного аккаунта. Профиль уже заполнен верифицированными данными — ФИО, СНИЛС, дата рождения. Это снижает нагрузку на IT-службу и повышает достоверность данных в системе.
Как работает интеграция технически
ЕСИА поддерживает протокол OAuth 2.0 / OpenID Connect — тот же стандарт, что используется при входе через Google или VK. Схема:
- Пользователь нажимает «Войти через Госуслуги» на странице входа Moodle
- Браузер перенаправляется на esia.gosuslugi.ru
- Пользователь подтверждает доступ (один раз)
- ЕСИА возвращает в Moodle токен с верифицированными данными
- Moodle создаёт или находит аккаунт пользователя и выполняет вход
В Moodle используется плагин auth_oauth2 (встроен с версии 3.3) или специализированный плагин для ЕСИА, который учитывает особенности российской реализации протокола.
Что нужно для подключения ЕСИА
1. Регистрация системы в ЕСИА. Организация должна быть зарегистрирована на Госуслугах как юридическое лицо. Система (Moodle) регистрируется в тестовой среде ЕСИА через технологический портал Минцифры. Для этого нужна УКЭП (усиленная квалифицированная электронная подпись) руководителя.
2. Получение мнемоники и ключей. После регистрации система получает идентификатор (мнемоника), тестовые и боевые ключи подписи запросов. Все запросы к ЕСИА подписываются ГОСТ-подписью — это требование безопасности.
3. Настройка Moodle. В настройках плагина указываются client_id (мнемоника), URL авторизации и токенов ЕСИА, путь к ключу подписи, список запрашиваемых атрибутов (ФИО, СНИЛС и т.д.).
4. Тестирование в тестовой среде ЕСИА. Перед боевым запуском обязательна отработка в тестовой среде. Тестовые аккаунты Госуслуг создаются специально для разработчиков.
Нюансы, которые важно учесть
Не все пользователи есть в ЕСИА. Сотрудники и преподаватели могут не иметь подтверждённых аккаунтов Госуслуг. Оставьте возможность входа по логину/паролю параллельно с ЕСИА — это обязательно.
ГОСТ-подпись требует дополнительной настройки PHP. Стандартная сборка PHP не поддерживает алгоритмы ГОСТ. Нужна либо отдельная утилита для подписи на стороне сервера, либо специальный PHP-модуль. Это самый технически сложный момент интеграции.
Время жизни токена. Токены ЕСИА имеют ограниченный срок действия. Плагин должен корректно обрабатывать ситуацию, когда токен истёк — перенаправлять на повторную авторизацию без потери текущего состояния.
Маппинг данных. ЕСИА возвращает ФИО в формате «Фамилия Имя Отчество» как отдельные поля. Нужно правильно сопоставить их с полями профиля Moodle.
Сроки и стоимость
Интеграция с ЕСИА — одна из наиболее трудоёмких из-за бюрократической части (регистрация, ключи) и технической специфики (ГОСТ-подпись). Реалистичные сроки: 4–8 недель от начала до боевого запуска. Из них 2–3 недели занимает бюрократическая часть — регистрация в ЕСИА.
Если вашей организации нужен SSO для Moodle без привязки к ЕСИА — есть более быстрые варианты через LDAP или OAuth с другими провайдерами. Но для государственных организаций интеграция с ЕСИА часто является требованием, а не выбором.
Итог
ЕСИА-авторизация в Moodle — правильный выбор для государственных образовательных организаций, которые хотят дать пользователям единый вход и работать с верифицированными данными. Технически реализуемо, организационно требует внимания к деталям. Обсудите задачу со мной — пройдём путь от регистрации в ЕСИА до готовой интеграции вместе.
Опишите задачу — расскажу, как решить её конкретно в вашем случае. Свяжитесь — разберём вместе.