╔═══════════════════════════════════════════════════════════════════╗ ║ ║ ║ 🔧 TELEGRAM OAUTH ДЛЯ СТОРОННИХ КЛИЕНТОВ 🔧 ║ ║ ║ ╚═══════════════════════════════════════════════════════════════════╝ ИЗМЕНЕНИЯ: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✅ 1. Убран Mock User • Удалена функция getMockUser() • Убрано использование mock user из App.jsx • Убрано из api.js interceptor ✅ 2. Добавлен Telegram Login Widget • Компонент TelegramLogin.jsx • Использует официальный Telegram Login Widget • Показывается для сторонних клиентов и браузера ✅ 3. Backend OAuth Route • /api/auth/oauth - новый endpoint • Проверка подписи Telegram OAuth • Создание/обновление пользователя ✅ 4. Обновлена логика авторизации • Если нет Telegram Web App API → показывается Login Widget • После авторизации через Widget → создается сессия НАСТРОЙКА: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1. Получить имя бота от @BotFather • Используется для Telegram Login Widget 2. Установить переменную окружения: VITE_TELEGRAM_BOT_NAME=ваше_имя_бота 3. Настроить домен в BotFather: • /setdomain для вашего домена • Например: nakama.glpshchn.ru ОБНОВЛЕНИЕ: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Frontend: • frontend/src/App.jsx • frontend/src/components/TelegramLogin.jsx (новый) • frontend/src/components/TelegramLogin.css (новый) • frontend/src/utils/api.js • frontend/src/utils/telegram.js Backend: • backend/routes/auth.js КОМАНДЫ: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ cd /Users/glpshchn/Desktop/nakama # Frontend scp frontend/src/App.jsx root@ваш_IP:/var/www/nakama/frontend/src/ scp frontend/src/components/TelegramLogin.jsx root@ваш_IP:/var/www/nakama/frontend/src/components/ scp frontend/src/components/TelegramLogin.css root@ваш_IP:/var/www/nakama/frontend/src/components/ scp frontend/src/utils/api.js frontend/src/utils/telegram.js root@ваш_IP:/var/www/nakama/frontend/src/utils/ # Backend scp backend/routes/auth.js root@ваш_IP:/var/www/nakama/backend/routes/ # На сервере ssh root@ваш_IP "cd /var/www/nakama/frontend && npm run build" ssh root@ваш_IP "pm2 restart nakama-backend" ВАЖНО: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1. Telegram Login Widget требует: • Домен должен быть настроен в BotFather • Использовать HTTPS (в production) • Правильное имя бота 2. Проверка подписи: • Включена, если есть TELEGRAM_BOT_TOKEN • В production рекомендуется строгая проверка 3. Безопасность: • Теперь используется официальная авторизация Telegram • Нет mock users • Все пользователи верифицированы через Telegram 2 минуты