Двухфакторная аутентификация с использованием telegram

Двухфакторная аутентификация на сайте может быть реализована с доставкой одноразовых кодов через Telegram вместо sms. Для этого требуется, чтобы на сайте было указано имя telegram-бота, с которым пользователю следует иметь предварительно установленный диалог. Сайт после получения учетных данных пользователя определяет по полученному пользовательскому логину идентификатор соответствующего диалога telegram. В этот диалог сайт отправляет сгенерированный одноразовый код, после чего ожидает его ввода через форму второго этапа аутентификации на сайте.
Актуализация соответствия логина и диалога происходит на основе данных, получаемых при взаимодействии сайта и бота. Один вариант взаимодействия подразумевает накопление соответствий на стороне бота, второй - на стороне сайта. В зависимости от выбора варианта регистрация нового пользователя может выглядеть по-разному.
При первом варианте регистрация начинается в боте, где с пользователем согласуется логин, и завершается на сайте после перехода на него по сформированному в боте url, содержащего логин и идентификатор диалога пользователя. При втором варианте традиционная регистрация на сайте завершается привязкой к логину диалога. Для привязки пользователю предлагается выполнить в боте определённую команду и ввести на сайте одноразовый код результата выполнения.