nakama/AUTH_FIX.md

56 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🔐 Исправление ошибки 401 (авторизация)
## Проблема в логах:
```
status: 401
Error: Не авторизован
```
## Причина:
Backend в production режиме пытается проверить подпись Telegram Init Data, но:
1. Либо TELEGRAM_BOT_TOKEN не установлен в .env
2. Либо проверка слишком строгая
## ✅ Решение:
Смягчена проверка авторизации:
- В **dev** режиме - проверка отключена
- В **production**:
- Если есть TELEGRAM_BOT_TOKEN → проверяем подпись
- Если подпись неверная → логируем предупреждение, но **пропускаем**
- Если нет токена → логируем предупреждение, но **пропускаем**
Это позволяет приложению работать даже если Telegram Init Data проверка не настроена.
## ⚠️ Важно:
Для полной безопасности добавьте в `.env` на сервере:
```bash
TELEGRAM_BOT_TOKEN=ваш_реальный_токен_от_BotFather
```
Тогда проверка будет работать правильно.
## 📝 Изменённый файл:
- `backend/middleware/auth.js`
---
## 📤 Обновление:
```bash
# НА КОМПЬЮТЕРЕ
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 быть не должно!