Auth0 Tg_bot
Telegram-бот з авторизацією через Auth0 (Device Authorization Flow)
Опис проєкту:
Цей проєкт — Telegram-бот, розроблений для авторизації користувачів за допомогою Auth0 через Device Authorization Flow. Після успішної авторизації бот надає користувачу JSON з даними профілю та переходить у режим повторення всіх отриманих повідомлень. У разі бездіяльності понад 1 хвилину — сесія завершується, і авторизація анулюється.
Основна функціональність:
Користувач починає чат з ботом.
Бот надсилає запит на авторизацію через Auth0.
У разі невдачі — бот показує відповідне повідомлення з можливістю спробувати знову.
Після успішної авторизації бот:
Надсилає JSON із даними користувача з Auth0.
Повторює всі вхідні повідомлення користувача.
Якщо користувач неактивний понад 60 секунд — сесія завершується, токен анулюється.
Технологічний стек:
Мова програмування: Python 3.11
Telegram API: aiogram 3.x — асинхронний фреймворк для створення Telegram-ботів
Авторизація: Auth0 з підтримкою Device Authorization Flow
База даних: PostgreSQL 13
ORM: SQLAlchemy (з підтримкою asyncpg)
Контейнеризація: Docker та Docker Compose
Тестування: pytest з покриттям понад 87%
Результат:
Telegram-бот з безпечною авторизацією через Auth0, автоматичним управлінням сесіями, асинхронною архітектурою, високим рівнем тестового покриття та контейнеризацією для зручного розгортання.
Опис проєкту:
Цей проєкт — Telegram-бот, розроблений для авторизації користувачів за допомогою Auth0 через Device Authorization Flow. Після успішної авторизації бот надає користувачу JSON з даними профілю та переходить у режим повторення всіх отриманих повідомлень. У разі бездіяльності понад 1 хвилину — сесія завершується, і авторизація анулюється.
Основна функціональність:
Користувач починає чат з ботом.
Бот надсилає запит на авторизацію через Auth0.
У разі невдачі — бот показує відповідне повідомлення з можливістю спробувати знову.
Після успішної авторизації бот:
Надсилає JSON із даними користувача з Auth0.
Повторює всі вхідні повідомлення користувача.
Якщо користувач неактивний понад 60 секунд — сесія завершується, токен анулюється.
Технологічний стек:
Мова програмування: Python 3.11
Telegram API: aiogram 3.x — асинхронний фреймворк для створення Telegram-ботів
Авторизація: Auth0 з підтримкою Device Authorization Flow
База даних: PostgreSQL 13
ORM: SQLAlchemy (з підтримкою asyncpg)
Контейнеризація: Docker та Docker Compose
Тестування: pytest з покриттям понад 87%
Результат:
Telegram-бот з безпечною авторизацією через Auth0, автоматичним управлінням сесіями, асинхронною архітектурою, високим рівнем тестового покриття та контейнеризацією для зручного розгортання.