Разрабатывают. Как бороться с выходом из системы из-за отсутствия своевременных ответов с новыми токенами?

Мы используем устройство (с change_headers_on_each_request = true) на нашем бэкэнде, и он отлично работает для быстрых сетей. В последнее время в медленных сетях у нас начались проблемы с частым выходом пользователей из-за использования старых токенов.

Обычно это происходит следующим образом:

  1. Пользователь входит в систему и получает заголовки auth1.
  2. Пользователь отправляет запрос с auth1 и не может получить ответ (либо истекает срок ожидания сетевого запроса, либо пользователь закрывает приложение перед получением ответа).
  3. Тем временем сервер сгенерировал auth2, попытался отправить его пользователю, но пользователь не смог его получить.
  4. Пользователь отправляет второй запрос с последним известным auth1.
  5. Пользователь получает 401, потому что auth1 уже был заменен на auth2 на бэкенде.

До сих пор я мог думать только о:

  • локальное сохранение учетных данных пользователя и повторное подключение "тени" для "обновления" токенов
  • позволяя auth1 жить в течение длительного периода времени и быть повторно использованным

Какой хороший способ справиться с этим?

PS Я думаю, что уже есть проблема в разработке трекера, которая почти такая же, как у меня.

0 ответов

Другие вопросы по тегам