Telegram аутентификация
В этом разделе описывается настройка и использование Telegram Login Widget для аутентификации пользователей в IDENTYX. Этот метод позволяет пользователям входить в систему через официальный механизм Telegram, обеспечивающий простоту входа и высокий уровень безопасности.
Обзор Telegram аутентификации
Telegram аутентификация использует официальный Telegram Login Widget — механизм, предоставляемый Telegram для интеграции входа через Telegram в сторонние сервисы.
- Простой и быстрый вход для пользователей
- Не требует ввода пароля
- Официальная технология Telegram с гарантиями безопасности
- Поддержка автоматической регистрации новых пользователей
- Проверка HMAC-SHA256 подписи всех данных
- Ограничение срока действия токена (24 часа)
- Защита от подделки данных
- Контроль дубликатов при привязке аккаунтов
Создание Telegram бота
Для использования Telegram аутентификации необходимо создать бота через @BotFather в Telegram.
Пошаговая инструкция
- Откройте Telegram и найдите бота @BotFather
- Отправьте команду
/newbot - Следуйте инструкциям:
- Введите отображаемое имя бота (например: "Моя Компания Login")
- Введите username бота (должен заканчиваться на
bot, например:mycompany_login_bot)
- BotFather создаст бота и выдаст токен — сохраните его, он понадобится для настройки в IDENTYX
- Отправьте команду
/setdomainи выберите созданного бота - Укажите домен вашей системы IDENTYX (например:
mycompany.ru)
Токен бота — это конфиденциальная информация. Никогда не публикуйте его в открытых источниках и храните в надежном месте.
Команда /setdomain необходима для работы Telegram Login Widget. Домен должен совпадать с доменом, на котором развернут IDENTYX (без протокола http:// или https://).
Настройка в IDENTYX
После создания бота настройте Telegram аутентификацию в IDENTYX.
Пошаговая настройка
- Войдите в IDENTYX как администратор
- Перейдите в раздел Настройки → Настройки
- Раскройте раздел Авторизация → Telegram
- Установите флажок Включить аутентификацию через Telegram
- Заполните поле Имя бота (username) — введите username вашего бота без символа @ (например:
mycompany_login_bot) - Заполните поле Токен бота — введите токен, полученный от BotFather
- Нажмите кнопку Сохранить внизу страницы
После сохранения настроек кнопка входа через Telegram появится на странице входа в систему.
Автоматическая регистрация
IDENTYX может автоматически создавать учетные записи для пользователей, входящих через Telegram впервые.
Настройка автоматической регистрации
- В разделе Telegram настроек установите флажок Разрешить автоматически регистрировать учетные записи
- В поле Группы для автодобавления выберите группы, в которые будут автоматически добавляться новые пользователи
- Сохраните настройки
Процесс автоматической регистрации
При первом входе через Telegram система:
- Создает новую локальную учетную запись
- Устанавливает отображаемое имя из данных Telegram:
- Если доступны имя и фамилия — использует их
- Если доступен только username — использует @username
- Если ничего нет — устанавливает "Telegram User"
- Генерирует случайный логин и пароль (пользователь не сможет войти по паролю без явной настройки)
- Привязывает Telegram ID к созданной учетной записи
- Добавляет пользователя в указанные группы
- Логирует все действия в журнал событий
Привязка Telegram к существующему аккаунту
Пользователи могут привязать свой Telegram аккаунт к уже существующей учетной записи в IDENTYX.
Привязка через профиль пользователя
- Войдите в систему под своей учетной записью
- Перейдите в Профиль пользователя (кнопка с вашим именем в правом верхнем углу)
- Найдите раздел Методы авторизации
- Найдите карточку Telegram
- Нажмите кнопку Привязать
- Откроется окно Telegram Login Widget — подтвердите вход
- После успешной привязки статус изменится на "Подключено"
После привязки вы сможете входить в систему через Telegram.
Отвязка Telegram аккаунта
Чтобы отвязать Telegram от учетной записи:
- Перейдите в Профиль пользователя
- Найдите карточку Telegram в разделе Методы авторизации
- Нажмите кнопку Отвязать
- Подтвердите действие
Если Telegram — единственный метод входа в систему, убедитесь, что у вас настроен другой способ аутентификации (например, пароль), прежде чем отвязывать Telegram.
Использование Telegram для входа
Процесс входа
- Откройте страницу входа в IDENTYX
- Найдите кнопку Telegram в разделе альтернативных методов входа
- Нажмите на кнопку
- Откроется окно Telegram Login Widget
- Подтвердите вход в Telegram (если требуется)
- Система автоматически выполнит вход в IDENTYX
Требования для входа
Для успешного входа через Telegram:
- Telegram должен быть привязан к учетной записи IDENTYX
- В настройках пользователя должен быть разрешен вход через Telegram (флаг allow_enter_by_telegram)
- Учетная запись не должна быть заблокирована
Безопасность Telegram аутентификации
Проверка подписи
IDENTYX проверяет подлинность данных, полученных от Telegram, используя криптографическую подпись:
- Все данные от Telegram содержат параметр
hash - Система вычисляет контрольную подпись на основе токена бота и полученных данных
- Используется алгоритм HMAC-SHA256
- Ключ подписи = SHA256(токен бота)
- Если подписи не совпадают — вход отклоняется
Подпись вычисляется по стандарту Telegram Login Widget. Это обеспечивает защиту от подделки данных злоумышленниками.
Ограничение срока действия
Данные аутентификации от Telegram имеют ограниченный срок действия:
- Telegram передает параметр
auth_date— время создания токена - IDENTYX проверяет, что с момента создания токена прошло не более 24 часов
- Если токен устарел — вход отклоняется
Защита от дубликатов
Система предотвращает привязку одного Telegram аккаунта к нескольким учетным записям IDENTYX:
- Каждый Telegram ID может быть привязан только к одной учетной записи
- При попытке привязать уже используемый Telegram ID система выдаст ошибку
Логирование событий
Все события, связанные с Telegram аутентификацией, записываются в журнал:
- Успешная аутентификация
- Неудачная аутентификация (с указанием причины)
- Привязка Telegram к учетной записи
- Отвязка Telegram от учетной записи
- Автоматическая регистрация нового пользователя
- Отказ во входе (например, если флаг
allow_enter_by_telegramотключен)
Часто задаваемые вопросы
Что такое username бота и где его взять?
Username бота — это уникальное имя, которое вы указываете при создании бота через @BotFather. Оно обязательно заканчивается на bot (например: mycompany_login_bot). Вы можете посмотреть username в профиле бота в Telegram.
Безопасно ли хранить токен бота в IDENTYX?
Да. Токен бота хранится в зашифрованном виде в базе данных и используется только для проверки подписи данных от Telegram. Никакие API-запросы к Telegram не выполняются.
Можно ли привязать один Telegram к нескольким учетным записям?
Нет. Каждый Telegram аккаунт может быть привязан только к одной учетной записи IDENTYX. Это сделано для безопасности и предотвращения конфликтов.
Что делать, если пользователь потерял доступ к Telegram?
Если Telegram был единственным методом входа:
- Администратор может установить пароль для учетной записи
- Или администратор может отвязать старый Telegram и привязать новый
- Или настроить другие методы аутентификации (LDAP, внешние провайдеры)
Кнопка Telegram не отображается на странице входа
Проверьте следующее:
- Включена ли аутентификация через Telegram в настройках
- Правильно ли указан username бота (без символа @)
- Сохранены ли настройки
- Настроен ли домен бота через команду
/setdomainв BotFather
Как узнать, что пользователь был создан автоматически?
В журнале событий будет запись с текстом "Пользователь автоматически создан при первой аутентификации в системе через Telegram".
Откуда берется отображаемое имя при автоматической регистрации?
Telegram передает данные пользователя:
first_name— имяlast_name— фамилия (если указана)username— username в Telegram (если указан)
Система формирует отображаемое имя в следующем порядке приоритета:
- Имя + Фамилия (если оба указаны)
- @username (если указан)
- "Telegram User" (если ничего не указано)
Задачи администратора
Разрешение входа через Telegram для конкретного пользователя
Администратор может явно разрешить или запретить вход через Telegram для пользователя:
- Перейдите в раздел Пользователи → Локальные пользователи
- Найдите нужного пользователя и откройте его карточку
- В разделе настроек доступны параметры методов аутентификации
- Управляйте флагом разрешения входа через Telegram
При привязке Telegram через профиль пользователя флаг allow_enter_by_telegram автоматически устанавливается в значение "включено".
Принудительная отвязка Telegram
Администратор может отвязать Telegram от учетной записи пользователя через управление пользователями или напрямую в базе данных (для опытных администраторов).
Теперь, когда вы настроили Telegram аутентификацию, рекомендуется изучить раздел КриптоПро и электронная подпись для дополнительных методов аутентификации.