nakama/AUTH_FIX.md

56 lines
1.7 KiB
Markdown
Raw Normal View History

2025-11-03 21:29:00 +00:00
# 🔐 Исправление ошибки 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 быть не должно!
2025-11-20 20:50:14 +00:00