Добавить в корзинуПозвонить
Найти в Дзене

Авторизация через Telegram для сайта: как подключить и использовать

Если вы когда-нибудь регистрировались на сайте через Google или Apple — вы уже примерно понимаете, о чём речь. Telegram предлагает похожий механизм: пользователь нажимает кнопку, подтверждает вход в приложении и авторизуется. Никаких форм, паролей. В этой статье посмотрим детальнее, как работает авторизация через Telegram, зачем она вообще нужна и как её подключить на практике. Стоит сразу отметить, что недавно Telegram анонсировал официальный механизм авторизации. С помощью аккаунта мессенджера можно быстро зарегистрироваться или авторизоваться в приложении или на сайте. Пользователю достаточно поделиться с сайтом или ботом своим номером телефона. Начнём с простого: зачем вообще делать вход через Telegram, если можно сделать обычную форму с логином и паролем. Сначала пройдём этот путь глазами обычного посетителя сайта. Три-четыре нажатия, и человек пользуется сайтом или приложением. При этом он видит, через какого бота происходит вход. Поэтому важно, чтобы бот был узнаваемым: с логот
Оглавление

Если вы когда-нибудь регистрировались на сайте через Google или Apple — вы уже примерно понимаете, о чём речь. Telegram предлагает похожий механизм: пользователь нажимает кнопку, подтверждает вход в приложении и авторизуется. Никаких форм, паролей.

В этой статье посмотрим детальнее, как работает авторизация через Telegram, зачем она вообще нужна и как её подключить на практике.

Стоит сразу отметить, что недавно Telegram анонсировал официальный механизм авторизации. С помощью аккаунта мессенджера можно быстро зарегистрироваться или авторизоваться в приложении или на сайте. Пользователю достаточно поделиться с сайтом или ботом своим номером телефона.

Зачем это нужно и что получаете

Начнём с простого: зачем вообще делать вход через Telegram, если можно сделать обычную форму с логином и паролем.

  • Конверсия растёт. Когда пользователь видит кнопку «Войти через Telegram» — он проходит авторизацию за несколько секунд. Не нужно придумывать пароль, подтверждать email, искать SMS с кодом.
  • Верификация номера телефона — бесплатно. У каждого пользователя Telegram привязан номер телефона. Если нужен верифицированный контакт, этот способ как раз снижает расходы на SMS-подтверждение при регистрации.
  • Прямой канал для общения. После авторизации появляется возможность писать пользователю через бота. Это удобно для уведомлений, подтверждений заказов, сервисных сообщений.
  • Дополнительные возможности. Telegram поддерживает API и мини-приложения.

Как выглядит авторизация на сайте через Telegram

Сначала пройдём этот путь глазами обычного посетителя сайта.

  1. Пользователь открывает ваш сайт и видит кнопку «Войти через Telegram».
  2. Нажимает её — появляется всплывающее окно с предложением ввести номер телефона.
  3. На телефон приходит уведомление от Telegram с просьбой подтвердить вход.
  4. Пользователь нажимает «Принять» в приложении.
  5. Готово — он авторизован на вашем сайте.

Три-четыре нажатия, и человек пользуется сайтом или приложением. При этом он видит, через какого бота происходит вход. Поэтому важно, чтобы бот был узнаваемым: с логотипом вашего сервиса и понятным названием.

Два способа подключить Telegram авторизацию

Сегодня Telegram предлагает два подхода, и оба актуальны.

Способ 1: новый стандарт

Современный вариант на основе протокола OpenID Connect (Telegram Login Library). Если вы уже используете какой-нибудь OpenID Connect-совместимый инструмент (Keycloak, Auth0, Authentik), то интегрировать Telegram авторизацию будет несложно: подключаете как обычный провайдер.

Поток авторизации здесь стандартный (Authorization Code Flow). Вы получаете защищённый токен, который можно верифицировать криптографически.

Способ 2: классический виджет авторизации

Более старый вариант — встраиваемый виджет. Менее гибкий в плане кастомизации, но по-прежнему рабочий и хорошо документированный. Подходит, если вы хотите быстро добавить кнопку без глубокой интеграции.

Разберём оба подхода по шагам.

Как настроить авторизацию через Telegram

Шаг 1. Создаём и настраиваем бота

Без бота Telegram авторизация не работает. Бот — это технический инструмент и одновременно «лицо» авторизации: пользователь видит имя и аватарку в момент подтверждения входа.

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

-2

Чтобы создать или выбрать бота — зайдите в чат с @BotFather. Если бота ещё нет, создайте его командой /newbot. Если уже есть — выберите нужный из списка командой /mybots.

Скопируйте токен бота — он понадобится для настройки.

Шаг 2. Регистрируем адреса и получаем Client ID

Telegram не позволяет перенаправлять пользователей на произвольные URL — только на те, которые вы явно указали. Это защита от подделки авторизационных запросов.

Откройте мини-приложение @BotFather, зайдите в настройки бота: Bot Settings → Web Login. Здесь нужно добавить все адреса, где будет работать ваша авторизация:

  • адреса сайтов, где будет встроена кнопка (например, https://example.com)
  • callback-адреса для потока (например, https://example.com/auth/callback)

Там же BotFather покажет ваш Client ID и Client Secret — сохраните их в надёжном месте, они нужны для настройки OIDC-клиента.

Подробнее в нашем блоге

Telegram двухфакторная авторизация: в чём разница

Стоит разграничить два разных понятия, которые часто путают.

  • Двухфакторная авторизация — это настройка внутри самого Telegram, когда вы защищаете свой аккаунт дополнительным паролем. К виджету для сайтов она отношения не имеет.
  • Авторизация на сайте через Telegram — когда ваш сайт использует Telegram как провайдер идентификации. Пользователь подтверждает вход в приложении, и этого достаточно.

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

Коды подтверждения и другие каналы связи

Telegram запрашивает авторизацию через само приложение, это удобно. Но не всегда достаточно. Иногда нужно дополнительно подтвердить действие: вход с нового устройства, смену пароля, иные действия.

Для таких сценариев используют коды подтверждения, можно задействовать разные каналы в зависимости от ситуации.

Notificore — платформа, которая позволяет отправлять коды подтверждения через Telegram, SMS, email и голосовые звонки. Это удобно, когда вам нужна гибкость: если пользователь недоступен в одном канале, сообщение уйдёт через другой.

  • Telegram API — код приходит прямо в мессенджер, которым пользователь уже пользуется.
  • SMS — универсальный вариант, работает даже без интернета и без установленного Telegram.
  • Email-письма — для транзакционных уведомлений: подтверждение регистрации, восстановление доступа.

Такой подход называют каскадной верификацией: вы не зависите от одного канала и можете настроить логику: через какой канал пробовать отправку сначала, а через какой отправлять повторно, если первый способ не сработал.

Что нужно учесть при внедрении

Несколько практических моментов, о которых стоит подумать заранее.

  • Внешний вид бота. Пользователь видит имя и аватарку бота в момент подтверждения входа. Если бот выглядит непрофессионально или незнакомо, часть пользователей просто закроет окно. Сделайте бота частью бренда.
  • Регистрация всех URL заранее. Telegram не пропускает редиректы на незарегистрированные адреса. Если вы добавите новый домен или поддомен, не забудьте обновить список в BotFather.
  • Проверка подписи — обязательна. Данные нельзя принимать без верификации. HMAC-проверка — обязательный шаг.
  • Актуальность данных: auth_date показывает, когда пользователь авторизовался. Если прошло больше суток, то стоит попросить повторный вход.

Итог

Авторизация на сайте через Telegram — это работающий инструмент с понятной механикой. Пользователь получает быстрый вход без лишних шагов, вы — верифицированный контакт и возможность общаться с ним напрямую через бота.

Telegram запрашивает авторизацию через своё приложение, которое уже установлено у большинства пользователей. Это снижает барьер входа и ускоряет онбординг.

Технически всё реализуемо своими силами: создаёте бота, регистрируете URL, подключаете виджет или новый клиент, настраиваете проверку подписи. Если нужны дополнительные каналы для кодов подтверждения или сервисных уведомлений — смотрите в сторону Notificore, чтобы объединить Telegram, SMS, email и голос в одном интерфейсе.

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