Не выполняется функция onTelegramAuth при авторизации
Подскажите почему у меня не проходит авторизация через Telegram Bot.
- Согласно документации я создал бот, используя команду /newbot в боте BotFather
- Далее привязал домен, используя /setdomain в боте BotFather
- Далее вставил на страницу своего сайта сгенерированный код:
<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>
- Страница успешно запустилась, кнопка [Войти через Telegram] отобразилась
- При нажатии на кнопку [Войти через Telegram] запустился виджет.
- Далее в виджете при нажатии кнопки открылся Телеграм в чате моего бота
my_test123_bot
- На этом все. Функция "onTelegramAuth(user)" не вызвалась, alert не выполнился
Что нужно сделать еще, чтобы функция onTelegramAuth
выполнилась?
Ответы (1 шт):
Автор решения: Сергей Новиков
→ Ссылка
Разобрался как работает виджет:
- В открывшемся окне вводим номера телефона и жмем кнопку "Далее"
- Либо в телефоне, либо в окне десктопного приложения Telegram в чате "Telegram" нажимаем "Принять"
- Далее опять переключаемся в окно виджета и нажимаем "Принять"
- После всех этих манипуляций сработает callback-функция "onTelegramAuth". А также рядом с кнопкой отобразиться аватарка из Telegram
Разобраться с этим мне помогла статья https://www.botobot.ru/blog/ru/voiti-cherez-telegram-avtorizatsiia-na-saitie-botobot/ Официальная документация написана неочевидно, не только я столкнулся этой проблемой. Кроме того, при работе с десктопным приложением легко не увидеть изменения в окне виджета. В общем не очень это подходит для массового использования обычными юзерами