Общие сведения
Приложение "Telegram" может использоваться в качестве фактора аутентификации посредством доставки push-уведомлений пользователю.
Доставка осуществляется посредством защищённого Telegram Bot API с использованием отдельного аккаунта Telegram-бота.
Настройка
Создание аккаунта для Telegram-бота
Для создания аккаунта требуется иметь зарегистрированную УЗ в Telegram.
В приложении Telegram:
- Через поиск найти официальный аккаунт Telegram BotFather (имеет логин @BotFather).
- В рамках взаимодействия с ботом выполнить операцию создания нового бота. В результате должно быть получено сообщение следующего вида:
«Done! Congratulations on your new bot. You will find it at t.me/yourbot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you've finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this. Use this token to access the HTTP API: 12345678919:h209548jm9tu323ав83ut34t34t32vv2 Keep your token secure and store it safely, it can be used by anyone to control your bot. For a description of the Bot API, see this page: https://core.telegram.org/bots/api»
2. Сохранить в безопасном месте строку, следующую за сообщением «Use this token to access the HTTP API:» (в примере выше «12345678919:h209548jm9tu323ав83ut34t34t32vv2»). Она будет использоваться в качестве секрета для отправки сообщений через данного бота и необходима для настройки подключения.
Внимание
Настройка параметров аутентификации методом Telegram (для FAM, начиная с версии 1.12)
- Для добавления нового метода аутентификации следует после авторизации в административной консоли FAM перейти в «Сервис» и выбрать пункт «Настройки методов аутентификации». В открывшемся окне нажать «Добавить метод аутентификации».
2. Среди предлагаемых вариантов выбрать Telegram и ввести название метода. Установить чекбокс признака активности.
3. На последнем шаге следует ввести в поле "Токен Телеграм" ранее сохраненную при создании бота строку, следующую за сообщением «Use this token to access the HTTP API:». Полный перечень параметров с их описанием доступен в Таблице 1.
Таблица 1. Описание параметров настройки метода аутентификации через Telegram
Параметр | Описание |
---|---|
Разрешить Inline-привязку с помощью других факторов | Флаг, указывающий, разрешено ли использование inline-привязки в Telegram для процесса аутентификации |
Ключ-тэг | Уникальный тэг (используется для ориентации в логах) |
Таймаут авторизации | Время жизни авторизации (в секундах) |
Таймаут отправки сообщений | Время ожидания (в секундах) для отправки сообщений |
Таймаут верификации | Время жизни верификации (в секундах), которое определяет, сколько времени есть у пользователя на подтверждение операции |
Настройка параметров аутентификации методом Telegram (для FAM до версии 1.12)
До версии 1.12 FAM требуется настроить параметры секции telegram в конфигурационном файле config.json (для Avanpost FAM 1.7 и ранее) или config.toml (для Avanpost FAM 1.8+)
- Открыть файл /opt/idp/config.toml (или config.json для версий Avanpost FAM 1.7 и более ранних) на редактирование, использовав любой доступный в ОС текстовый редактор (в примере использован редактор vi).
vi /opt/idp/config.toml
2. В секции telegram задать необходимые настройки. Полный перечень параметров с их описанием доступен в Таблице 2. Пример настроенной секции:
[telegram] accessToken = 'TELEGRAM_TOKEN' authLifeTimeSeconds = 60 inlineBindingEnable = true listenerGetUpdatesTimeout = 60 senderTimeoutMilliSeconds = 1 verificationLifeTimeInSeconds = 60
Таблица 2. Описание параметров настройки метода аутентификации через Telegram для конфигурационного файла
Параметр | Описание |
---|---|
accessToken | Значение токена, указывается в кавычках |
authLifeTimeSeconds | Время жизни авторизации в секундах |
inlineBindingEnable | Флаг, указывающий, разрешено ли использование inline-привязки в Telegram для процесса аутентификации |
listenerGetUpdatesTimeout | Время ожидания (в секундах) для получения Системой обновлений от Telegram-бота |
senderTimeoutMilliSeconds | Время ожидания (в миллисекундах) для отправки сообщений |
verificationLifeTimeInSeconds | Время жизни верификации в секундах, которое определяет, сколько времени есть у пользователя на подтверждение операции |