This commit is contained in:
Viktoria Polyakova
2026-01-25 15:57:18 +03:00
parent 9626c9f3be
commit 0a9c3f5bc4
2809 changed files with 182961 additions and 0 deletions

96
TROUBLESHOOTING.md Normal file
View File

@@ -0,0 +1,96 @@
# Руководство по устранению ошибок авторизации
## Ошибка: "Сервер вернул пустой или некорректный ответ"
Эта ошибка может возникать по нескольким причинам. Ниже приведены возможные причины и способы их устранения.
### Возможные причины
1. **Неправильный URL сервера**
- URL должен начинаться с `http://` или `https://`
- Проверьте, что URL введен полностью и правильно
- Пример правильного URL: `https://crm.example.com`
2. **Проблемы с подключением к серверу**
- Проверьте интернет-соединение
- Убедитесь, что сервер доступен
- Проверьте, не блокирует ли брандмауэр соединение
3. **Неверные учетные данные**
- Проверьте правильность email и пароля
- Убедитесь, что учетная запись активна
4. **Неправильный API ключ**
- Проверьте, что API ключ введен правильно
- Убедитесь, что API ключ активен и имеет необходимые права
5. **Проблемы на стороне сервера**
- Сервер может быть временно недоступен
- Возможны проблемы с базой данных
- Сервер может возвращать пустой ответ из-за внутренних ошибок
### Пошаговая диагностика
1. **Проверьте вводимые данные**
- Убедитесь, что все поля заполнены
- Проверьте формат email
- Убедитесь, что URL начинается с `http://` или `https://`
2. **Проверьте подключение**
- Попробуйте открыть URL сервера в браузере
- Проверьте, доступен ли сервер из вашей сети
3. **Проверьте логи приложения**
- Включите отладочные логи в Android Studio
- Ищите сообщения с тегом `AuthRepository`
- Обратите внимание на коды HTTP ответов
4. **Проверьте API ключ**
- Убедитесь, что API ключ действителен
- Проверьте, имеет ли ключ необходимые права доступа
### Коды HTTP ошибок и их значения
- **400** - Некорректный запрос. Проверьте введенные данные и формат email.
- **401** - Неверный email или пароль. Проверьте правильность введенных данных.
- **403** - Доступ запрещен. Проверьте API ключ и права доступа.
- **404** - Сервер не найден. Проверьте URL сервера и подключение к сети.
- **405** - Метод не разрешен. Эндпоинт не существует или недоступен.
- **422** - Некорректные данные. Проверьте формат email и пароля.
- **500** - Ошибка сервера. Сервер временно недоступен, попробуйте позже.
- **502, 503, 504** - Проблемы с сервером. Проверьте подключение к серверу.
### Сетевые ошибки
- **UnknownHostException** - Нет подключения к серверу. Проверьте интернет-соединение и правильность URL.
- **SocketTimeoutException** - Таймаут соединения. Проверьте подключение к серверу и попробуйте снова.
- **IOException** - Ошибка сети. Проверьте подключение к интернету.
### Если проблема не решена
1. **Перезапустите приложение**
2. **Проверьте версию приложения** - убедитесь, что используется последняя версия
3. **Обратитесь в поддержку** - предоставьте:
- Текст ошибки
- Логи приложения (с тегом `AuthRepository`)
- Используемый URL сервера
- Версию приложения
### Примеры правильного ввода данных
```
URL сервера: https://crm.example.com
Email: user@example.com
Пароль: your_password
API Key: your_api_key_here
```
### Техническая информация для разработчиков
Приложение использует следующие эндпоинты для авторизации:
- `POST /api/iam/auth/login-site` - для авторизации через сайт
- `POST /api/iam/auth/login-ext` - для авторизации через расширение
Все запросы выполняются с использованием Retrofit и OkHttp с таймаутом 30 секунд.
Для диагностики проблем рекомендуется включить уровень логирования `BODY` в OkHttpInterceptor.