56 lines
1.7 KiB
Markdown
56 lines
1.7 KiB
Markdown
# 🔐 Исправление ошибки 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 быть не должно!
|
||
|
||
|