Не выполняется функция onTelegramAuth при авторизации

Подскажите почему у меня не проходит авторизация через Telegram Bot.

  1. Согласно документации я создал бот, используя команду /newbot в боте BotFather
  2. Далее привязал домен, используя /setdomain в боте BotFather
  3. Далее вставил на страницу своего сайта сгенерированный код:
<script async src="https://telegram.org/js/telegram-widget.js?22" data-telegram-login="my_test123_bot"
        data-size="large" data-onauth="onTelegramAuth(user)" data-request-access="write">
</script>
<script type="text/javascript">
    function onTelegramAuth(user) {
        alert('Logged in as ' + user.first_name + ' ' + user.last_name + ' (' + user.id + (user.username ? ', @' + user.username : '') + ')');
    }
</script>
  1. Страница успешно запустилась, кнопка [Войти через Telegram] отобразилась
  2. При нажатии на кнопку [Войти через Telegram] запустился виджет.
  3. Далее в виджете при нажатии кнопки открылся Телеграм в чате моего бота my_test123_bot
  4. На этом все. Функция "onTelegramAuth(user)" не вызвалась, alert не выполнился

Что нужно сделать еще, чтобы функция onTelegramAuth выполнилась?


Ответы (1 шт):

Автор решения: Сергей Новиков

Разобрался как работает виджет:

  1. В открывшемся окне вводим номера телефона и жмем кнопку "Далее"
  2. Либо в телефоне, либо в окне десктопного приложения Telegram в чате "Telegram" нажимаем "Принять"
  3. Далее опять переключаемся в окно виджета и нажимаем "Принять"
  4. После всех этих манипуляций сработает callback-функция "onTelegramAuth". А также рядом с кнопкой отобразиться аватарка из Telegram

Разобраться с этим мне помогла статья https://www.botobot.ru/blog/ru/voiti-cherez-telegram-avtorizatsiia-na-saitie-botobot/ Официальная документация написана неочевидно, не только я столкнулся этой проблемой. Кроме того, при работе с десктопным приложением легко не увидеть изменения в окне виджета. В общем не очень это подходит для массового использования обычными юзерами

→ Ссылка