Название проекта:
Java developer (для всех)
Кто разместил:
Внешний проект с free-lance.ru
Открыт:
03-Oct-2025 13:06 GMT
Описание:
Реализовать механизм поверхностной аутентификации в Telegram клиенте с использованием Telegram Bot API. Кандидат должен продемонстрировать умение работать с существующей кодобазой, интегрировать внешние сервисы и реализовывать безопасные методы аутентификации. Техническое задание 1. Модификация Telegram Client Исходный код: Telegram Android Client (предоставляется отдельно) Добавить кнопку авторизации в интерфейсе приложения При нажатии открывать страницу авторизации внутри приложения 2. Серверная часть (REST API) Реализовать сервер с двумя endpoint'ами: POST /auth/init Параметры: user_id (идентификатор пользователя) Генерирует уникальный sessionId и token Сохраняет в БД с полями: session_id (String, PRIMARY KEY) token (String, UNIQUE) user_id (Long) accepted (Boolean, default: false) created_at (Timestamp) expires_at (Timestamp) // +10 минут Возвращает JSON: json { "sessionId": "uuid-session-123", "token": "jwt-or-uuid-token", "expiresIn": 600 } Защищенный endpoint для проверки Endpoint для внутренней проверки реализации Детали будут предоставлены дополнительно 3. Telegram Bot Создать бота с командами: /start {sessionId} - подтвердить Логика бота: При получении sessionId проверять его валидность и время жизни При подтверждении обновлять запись в БД: accepted = true 4. Клиентская логика При открытии страницы авторизации: Вызывать /auth/init с user_id текущего пользователя Получать sessionId и token Добавить кнопку, по которой пользователь сможет перейти в бота для подтверждения Закрывать страницу авторизации Показывать уведомление об успехе Технологический стек Клиент: Java, Android SDK Сервер: Spring Boot База данных: На выбор кандидата Telegram Bot: Java + Telegram Bot Library Требования к реализации Обязательные требования: Полная работоспособность всей цепочки аутентификации Обработка ошибок и edge cases Безопасное хранение и передача данных Логирование ключевых событий Будет преимуществом: Unit-тесты для критической логики Документация API Конфигурация через environment variables
Project ID:
4802202
Категория проекта:
Программирование, Google Android
Бюджет проекта: