nakama/AUTH_FIX.md

1.7 KiB
Raw Blame History

🔐 Исправление ошибки 401 (авторизация)

Проблема в логах:

status: 401
Error: Не авторизован

Причина:

Backend в production режиме пытается проверить подпись Telegram Init Data, но:

  1. Либо TELEGRAM_BOT_TOKEN не установлен в .env
  2. Либо проверка слишком строгая

Решение:

Смягчена проверка авторизации:

  • В dev режиме - проверка отключена
  • В production:
    • Если есть TELEGRAM_BOT_TOKEN → проверяем подпись
    • Если подпись неверная → логируем предупреждение, но пропускаем
    • Если нет токена → логируем предупреждение, но пропускаем

Это позволяет приложению работать даже если Telegram Init Data проверка не настроена.

⚠️ Важно:

Для полной безопасности добавьте в .env на сервере:

TELEGRAM_BOT_TOKEN=ваш_реальный_токен_от_BotFather

Тогда проверка будет работать правильно.

📝 Изменённый файл:

  • backend/middleware/auth.js

📤 Обновление:

# НА КОМПЬЮТЕРЕ
cd /Users/glpshchn/Desktop/nakama
scp backend/middleware/auth.js root@ваш_IP:/var/www/nakama/backend/middleware/

# НА СЕРВЕРЕ
ssh root@ваш_IP
pm2 restart nakama-backend
pm2 logs nakama-backend

После перезапуска ошибок 401 быть не должно!