Files
MCAdroidApp/TROUBLESHOOTING.md
Viktoria Polyakova 0a9c3f5bc4 Init
2026-01-25 15:57:18 +03:00

97 lines
5.5 KiB
Markdown
Raw Permalink 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.
# Руководство по устранению ошибок авторизации
## Ошибка: "Сервер вернул пустой или некорректный ответ"
Эта ошибка может возникать по нескольким причинам. Ниже приведены возможные причины и способы их устранения.
### Возможные причины
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.