Auth0 Tg_бот
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, автоматическим управлением сессиями, асинхронной архитектурой, высоким уровнем тестового покрытия и контейнеризацией для удобного развертывания.