Авторизация через Telegram в Moodle
Функциональные требования
Привязка Telegram ID к существующему аккаунту
Первое касание для новых пользователей:
При нажатии авторизации через Telegram проходит авторизация по стандартной процедуре, описанной тут:
https://core.telegram.org/widgets/login
Далее, после входа в Moodle, система проверяет, есть ли у пользователя email в системе. Если email нет, пользователю выводится обязательная форма для ввода email, данная форма блокирует любые действия и висит до тех пор пока человек не введет емайл. После ввода почты, система ищет в уже существующей базе данных Moodle учетную запись, соответствующую введённому email.
Если учетная запись найдена:
Пользователю отправляется одноразовый код подтверждения на указанный email.
После ввода и успешной проверки одноразового кода происходит автоматическая привязка Telegram ID к найденному аккаунту, а аккаунт, который был создан при первом касании, удаляется либо блокируется.
Если учетная запись не найдена:
Пользователю отправляется одноразовый код подтверждения на указанный email.
После подтверждения email сохраняется и ассоциируется с новым аккаунтом.
Далее в будущем пользователь продолжает авторизацию через Telegram без необходимости дополнительного ввода данных.