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