Як налаштувати двофакторну авторизацію в Telegram-боті
Що таке 2FA в Telegram-боті
Двофакторна авторизація (2FA) - це додаткова перевірка при вході/важливих діях: до паролю/сесії Telegram додається другий фактор (одноразовий код, біометрія, підтвердження в додатку, passkey). У контексті бота 2FA налаштовується на стороні сервісу, а бот виступає інтерфейсом: допомагає включити 2FA, видає інструкції, приймає коди, запускає WebApp для підтверджень.
Ключові сценарії, де 2FA обов'язково:- вхід в особистий кабінет (через бот → WebApp → профіль), прив'язка/зміна платіжних методів, запити на виведення, зміна e-mail/телефону, пароля/лімітів, вхід з нового пристрою/з нової країни.
Варіанти 2FA, доступні в боті
1. TOTP (додаток-аутентифікатор) - Google/Microsoft Authenticator, 1Password, Bitwarden та ін. Генерують 6-значні коди кожні 30 сек (RFC 6238).
2. Резервні коди - набір одноразових статичних кодів на «чорний день». Зберігайте офлайн.
3. Підтвердження в WebApp - бот відкриває Telegram WebApp, де ви підтверджуєте дію (step-up).
4. Код в e-mail/SMS - резервний варіант, коли немає доступу до TOTP.
5. Passkeys/WebAuthn (якщо підтримуються сервісом) - вхід/підтвердження без пароля через біометрію пристрою (Face/Touch ID), як другий фактор або замість пароля.
Як користувачеві включити 2FA в боті (крок за кроком)
Крок 1. Відкрийте розділ безпеки
У боті виберіть Меню → Профіль/Безпека → Двофакторна аутентифікація або відправте команду/security → Включити 2FA.
Крок 2. Виберіть метод
Рекомендується TOTP (надійний і автономний). При відсутності - підключіть e-mail/SMS як резерв.
Крок 3. Підключіть TOTP
1. Бот покаже QR-код (або секретний ключ у форматі'otpauth://`/base32).
2. Відкрийте додаток-аутентифікатор → Додати → Сканувати QR (або Ввести ключ).
3. Введіть поточний 6-значний код з автентифікатора в боті для підтвердження.
4. Збережіть резервні коди (бот віддасть 8-10 кодів). Завантажте/запишіть офлайн.
Крок 4. Перевірте резервний канал
Переконайтеся, що e-mail підтверджений, телефон актуальний: це допоможе при втраті TOTP.
Крок 5. Увімкніть step-up на критичні операції
У розділі Налаштування 2FA позначте: «Запитувати 2FA при виведенні/зміні реквізитів/лімітів».
Крок 6. Протестуйте
Вийдіть з сесії → увійдіть знову через бот/WebApp - система запитає код 2FA.
Як працює це «під капотом» (коротко)
Бот/веб-кабінет визначає вашу особу через Telegram Login (підписані дані від Telegram) або ваш авторизований'telegram _ id'.
На стороні сервера зберігається TOTP-секрет (base32), пов'язаний з вашим аккаунтом (в зашифрованому вигляді).
При операції, що вимагає 2FA, сервер чекає 6-значний код TOTP (або підтвердження через WebApp/Passkey).
Сервер звіряє код по поточному тимчасовому вікну (зазвичай 30 сек) з допуском дрейфу часу.
При успіху операція виконується; при провалі - блокування/капча/таймаут/повідомлення про ризик.
Кращі практики безпеки (для користувача)
Підключіть TOTP + резервні коди. Не зберігайте їх у нотатках/галереї - роздрукуйте.
Увімкніть step-up для каси/виводу/зміни реквізитів.
Не відправляйте коди «менеджерам» в личку - вводьте тільки в офіційному боті/WebApp.
Перевірте, що у вас включений пароль Telegram (Cloud Password) і блокування Telegram за кодом/біометрією.
Якщо втратили телефон - відразу: змініть пароль від акаунта, відв'яжіть старі пристрої, використовуйте резервні коди, зв'яжіться з підтримкою.
Кращі практики (для адмінів/продукту)
Зберігання секрету TOTP: в KMS/в шифрованому полі (AES-GCM), з поділом ролей доступу.
Rate limiting і захист від брута: обмежте спроби введення коду, додайте експоненціальні затримки і капчу.
Вікно часу: 30 сек + допуск ± 1 вікно; Враховуйте дрейф годинника.
Step-up: вимагайте 2FA для виведення, зміни платіжних методів, KYC-даних, при вході з нового пристрою/країни/підозрілого IP.
Сесії: показуйте користувачеві активні пристрої, давайте кнопку «Вийти від усюди».
Аудит: логуйте підтвердження 2FA (без зберігання самих кодів), шліть алерти при аномаліях.
WebApp: валідуйте'initData '/підпис Telegram на сервері; витікаючий'auth _ date'; захищайте від replay (nonce).
Passkeys: додайте підтримку WebAuthn (як другий фактор або passwordless), зберігайте ключі прив'язки до пристроїв.
Резервні коди: видавайте один раз, давайте регенерацію з підтвердженням особи.
UX: чіткі стани помилок, таймери, лічильник спроб, що залишилися, зрозумілі «сходи» відновлення доступу.
Часті помилки і як їх вирішити
Код невірний: перевірте час на пристрої з автентифікатором (увімкніть авто-синхронізацію часу), зачекайте наступне 30-сек вікно.
Немає доступу до TOTP і резервних кодів: використовуйте підтверджений e-mail/телефон, пройдіть процедуру відновлення (KYC-підтвердження особи).
Не приходить e-mail/SMS: перевірте спам, коректність телефону, повторіть через 60-120 сек; при системній затримці використовуйте TOTP.
WebApp просить повторний вхід: витік'auth _ date'або скинута сесія; увійдіть заново через кнопку в боті.
Занадто багато спроб: дочекайтеся таймауту, потім спробуйте знову; при частих збоях - змініть секрет TOTP і перепривяжіть автентифікатор.
Міні-чек-лист перед включенням 2FA
1. Додаток-автентифікатор встановлено, авто-час включено.
2. Підтверджені e-mail і телефон (резервний доступ).
3. Секрет TOTP додано через QR/ключ, перший код перевірено.
4. Резервні коди збережені офлайн.
5. Step-up включений для каси/висновків/зміни реквізитів.
6. Пароль Telegram (Cloud Password) і блокування клієнта включені.
FAQ
2FA в боті замінює пароль?
Ні, ні. Це додаткова перевірка. Пароль/основний вхід все одно потрібен.
Чи можна включити 2FA тільки на вивід?
Так, через налаштування безпеки (step-up на критичні операції).
Що надійніше: TOTP або SMS?
TOTP надійніше: не залежить від мережі, не вразливий до SIM-свапу. SMS/e-mail - запасний варіант.
Passkeys працюють в Telegram WebApp?
Якщо сервіс підтримує WebAuthn у вбудованому браузері клієнта і ваша платформа це дозволяє - так. Інакше використовуйте TOTP.
Я змінив телефон. Потрібно налаштовувати заново?
Так. Перенесіть обліковий запис автентифікатора (експорт) або скиньте секрет і налаштуйте TOTP заново. Резервні коди допоможуть увійти в перехідний період.
2FA в Telegram-боті - це простий спосіб істотно підняти безпеку: TOTP + резервні коди + step-up на чутливі операції. Підключіть аутентифікатор, збережіть резервні коди, увімкніть підтвердження для каси і платіжних змін - і ваш аккаунт залишиться захищений навіть при компрометації пароля або пристрою.