Init
This commit is contained in:
96
TROUBLESHOOTING.md
Normal file
96
TROUBLESHOOTING.md
Normal 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.
|
||||
Reference in New Issue
Block a user