Avanpost FAM/MFA+ : 5.4.6. Настройка метода Telegram

Общие сведения

Приложение "Telegram" может использоваться в качестве фактора аутентификации посредством доставки push-уведомлений пользователю.

Доставка осуществляется посредством защищённого Telegram Bot API с использованием отдельного аккаунта Telegram-бота. 

Подробнее с технологией Telegram Bot API можно ознакомиться в официальной документации Telegram.

Настройка

Создание аккаунта для Telegram-бота

Для создания аккаунта требуется иметь зарегистрированную УЗ в Telegram.

В приложении Telegram:

  1. Через поиск найти официальный аккаунт Telegram BotFather (имеет логин @BotFather).
  2. В рамках взаимодействия с ботом выполнить операцию создания нового бота. В результате должно быть получено сообщение следующего вида:
«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, через который был зарегистрирован новый бот, необходимо хранить в безопасном месте.

Настройка параметров аутентификации методом Telegram (для FAM, начиная с версии 1.12)

  1. Для добавления нового метода аутентификации следует после авторизации в административной консоли 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+)

  1. Открыть файл /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
Время жизни верификации в секундах, которое определяет, сколько времени есть у пользователя на подтверждение операции




Обсуждение