Разрабатывают. Как бороться с выходом из системы из-за отсутствия своевременных ответов с новыми токенами?
Мы используем устройство (с change_headers_on_each_request = true
) на нашем бэкэнде, и он отлично работает для быстрых сетей. В последнее время в медленных сетях у нас начались проблемы с частым выходом пользователей из-за использования старых токенов.
Обычно это происходит следующим образом:
- Пользователь входит в систему и получает заголовки auth1.
- Пользователь отправляет запрос с auth1 и не может получить ответ (либо истекает срок ожидания сетевого запроса, либо пользователь закрывает приложение перед получением ответа).
- Тем временем сервер сгенерировал auth2, попытался отправить его пользователю, но пользователь не смог его получить.
- Пользователь отправляет второй запрос с последним известным auth1.
- Пользователь получает 401, потому что auth1 уже был заменен на auth2 на бэкенде.
До сих пор я мог думать только о:
- локальное сохранение учетных данных пользователя и повторное подключение "тени" для "обновления" токенов
- позволяя auth1 жить в течение длительного периода времени и быть повторно использованным
Какой хороший способ справиться с этим?
PS Я думаю, что уже есть проблема в разработке трекера, которая почти такая же, как у меня.