ИСПУМ
Разделы документации

Настройка LTI 1.3 (Moodle)

Применимо к версии 1.5.0+

После подключения преподаватели открывают ИСПУМ прямо из курса Moodle — без отдельного входа, а оценки автоматически возвращаются в журнал Moodle. Настройка занимает 5–10 минут и выполняется самой ИТ-службой университета, без участия ИСПУМ.

Кто и где настраивает

Только root-администратор организации (роль «Администратор организации» на корневом подразделении). Раздел находится в Настройки → Организация → LTI (/institution/lti). Как и приглашение преподавателей, эта настройка намеренно не делегируется на уровень кафедры или института — она затрагивает весь университет сразу.

Вам также понадобится доступ администратора сайта в Moodle: Site Administration → Plugins → Activity modules → External tool → Manage tools.

Способ 1 — динамическая регистрация (рекомендуется)

Работает, если ваш Moodle поддерживает LTI 1.3 Advantage (Moodle 3.9+). Быстрее ручного заполнения полей, потому что обмен всеми URL и идентификаторами происходит автоматически в обе стороны.

  1. В ИСПУМ, в блоке «Динамическая регистрация (рекомендуется)», нажмите «Получить ссылку регистрации» и скопируйте появившуюся ссылку.
  2. В Moodle: Site Administration → Plugins → External tool → Manage tools → Configure a tool → Dynamic registration — вставьте туда ссылку.
  3. Moodle обратится по этой ссылке к ИСПУМ, получит перечень возможностей инструмента (URL запуска, JWKS, поддерживаемые типы сообщений) и покажет экран подтверждения. Подтвердите регистрацию.
  4. ИСПУМ получит обратно client_id и deployment_id от Moodle и сохранит их автоматически — поля ниже на странице заполнятся сами, включая галочку «Включить LTI для этой организации».
  5. Проверьте результат кнопкой «Проверить соединение» — она обращается к JWKS-адресу Moodle и подтверждает, что ключи доступны.

Ссылка регистрации одноразовая: если регистрация не удалась, вернитесь в ИСПУМ и получите новую.

Способ 2 — ручная регистрация

Используйте, если динамическая регистрация недоступна или не сработала. Здесь обмен данными идёт вручную в обе стороны.

Шаг 1 — создайте инструмент в Moodle

Site Administration → Plugins → External tool → Manage tools → configure a tool manually, тип LTI Version: LTI 1.3. Возьмите три значения из блока «Данные для ручной регистрации инструмента в Moodle» на странице ИСПУМ и вставьте их в соответствующие поля Moodle:

Поле в ИСПУМ Что это Куда в Moodle
Redirect URI (Launch URL) адрес, на который Moodle отправляет запуск и данные после входа Tool URL / Redirection URI(s)
URL входа (OIDC) адрес, с которого начинается вход Initiate Login URL
Public JWKS URL публичные ключи ИСПУМ, которыми Moodle проверяет подпись Public Keyset URL

Сохраните инструмент в Moodle — он выдаст Client ID (и иногда отдельный Deployment ID — оба видны в списке инструментов Moodle).

Шаг 2 — впишите данные Moodle в ИСПУМ

На странице Настройки → Организация → LTI заполните:

  • Issuer платформы — адрес вашего Moodle (например https://moodle.example.ru).
  • Client ID — значение, которое Moodle выдал на шаге 1.
  • Deployment ID (по одному на строку) — если в вашем университете инструмент активирован в нескольких курсах/категориях под разными deployment ID, добавьте их все; запуск с незарегистрированным deployment ID будет отклонён.
  • OIDC Auth Login URL платформы и JWKS URL платформы — стандартные эндпоинты вашего Moodle; в самом Moodle они обычно указаны на странице настроек инструмента или в документации вашей версии Moodle.
  • Token URL платформы — нужен только для автоматической передачи оценок и списка студентов (AGS/NRPS); базовый запуск работает и без него.

Поставьте галочку «Включить LTI для этой организации» и нажмите «Сохранить». Если каких-то полей не хватает, страница явно скажет: «Заполните все поля выше и сохраните, чтобы LTI-запуски принимались».

Обязательное условие: разрешите передачу email

ИСПУМ определяет преподавателя и студента по email из LTI-запуска — без него запуск отклоняется. В настройках инструмента в Moodle (Privacy → Share launcher's name/email with tool) убедитесь, что передача email разрешена. Это самая частая причина, по которой первый запуск не проходит.

Сопоставление курсов (необязательно)

Курс в ИСПУМ создаётся автоматически при первом запуске преподавателя из курса Moodle — сопоставление ничего не блокирует. Раздел «Сопоставление курсов» на той же странице нужен только для сводной отчётности по институту: если вы хотите видеть курсы из Moodle в разрезе кафедр/институтов на уровне организации, свяжите каждый запущенный курс с разделом оргструктуры вручную.

Если один и тот же курс Moodle ведут два преподавателя, у каждого создаётся свой собственный курс в ИСПУМ — это по замыслу, не ошибка.

Как преподаватель подключает конкретное задание

Проверка работ через LTI требует, чтобы преподаватель добавил инструмент через Deep Linking, а не просто вставил ссылку на ИСПУМ вручную:

  1. Преподаватель добавляет в курс Moodle activity типа «External tool» → выбирает зарегистрированный инструмент ИСПУМ.
  2. Moodle открывает окно выбора — там преподаватель выбирает конкретное опубликованное задание из ИСПУМ.
  3. Только после этого шага элемент курса в Moodle привязан к заданию и доступен студентам.

Элемент, созданный в обход этого выбора (например, вручную указанным URL), работать не будет — студент получит ошибку «этот элемент курса не настроен для сдачи работ через ИСПУМ».

Журнал запусков — для диагностики

На той же странице ИСПУМ, ниже сопоставления курсов, — таблица «Журнал запусков»: последние 100 попыток запуска из Moodle, с преподавателем, ролью, курсом и статусом. Если у кого-то не получается войти, начните отсюда — код ошибки в журнале укажет на конкретную причину из таблицы ниже.

Типовые ошибки

Код ошибки Что произошло Что проверить
LTI_NOT_CONFIGURED LTI не включён либо конфигурация не сохранена для организации Галочка «Включить LTI» и что все обязательные поля заполнены и сохранены
LTI_NO_EMAIL В запуске нет email пользователя Настройки конфиденциальности инструмента в Moodle — разрешите передачу email
LTI_CLIENT_MISMATCH Client ID в запросе Moodle не совпадает с сохранённым в ИСПУМ Client ID введён с опечаткой, или инструмент в Moodle пересоздавался с новым ID — обновите поле в ИСПУМ
LTI_DEPLOYMENT_UNKNOWN Deployment ID запуска не значится в списке зарегистрированных Добавьте недостающий Deployment ID (по одному на строку) в настройках ИСПУМ
LTI_NO_CONTEXT В запуске отсутствует идентификатор курса Обычно означает, что инструмент запущен не из контекста курса — проверьте, где в Moodle добавлен элемент
LTI_NO_PUBLISHED_ASSIGNMENT Элемент курса создан не через выбор задания (Deep Linking) Преподаватель должен пересоздать элемент курса через процесс выбора задания, см. раздел выше
LTI_DEEP_LINK_FORBIDDEN Выбор задания запущен не преподавателем Настройку задания должен выполнять пользователь с ролью преподавателя в Moodle
LTI_STATE_INVALID Запуск просрочен или уже был использован (ссылка использована повторно, например через «Назад» в браузере) Попросите преподавателя/студента запустить заново из Moodle
LTI_VALIDATION_FAILED / LTI_NONCE_MISMATCH Подпись запуска не прошла проверку Обычно расхождение времени на сервере Moodle или устаревший кэш ключей — повторите запуск; если повторяется, проверьте, что JWKS URL Moodle доступен извне
LTI_DISCOVERY_FAILED / LTI_DISCOVERY_TIMEOUT (при регистрации) ИСПУМ не смог получить конфигурацию Moodle по ссылке динамической регистрации Проверьте, что адрес Moodle доступен из интернета (не только из внутренней сети университета)
LTI_REGISTRATION_REJECTED / LTI_REGISTRATION_NO_CLIENT_ID (при регистрации) Moodle отклонил запрос регистрации или не вернул Client ID Повторите динамическую регистрацию; если не помогает, используйте ручной способ

Если ошибка не из этого списка или причина не находится — напишите через форму обратной связи, приложив код ошибки и время запуска из журнала.