У меня есть конечная точка входа в систему, с помощью которой я получаю authToken и refreshToken. Срок действия первого истекает через час, поэтому я должен использовать второй, чтобы обновить его и продолжить выполнение приложения.
Теперь мое приложение заполнено повсеместно модернизированными звонками, и я потенциально могу получить 401
в любой момент, так как я могу сделать так, чтобы каждый раз, когда я получал 401
токен обновления, выдается, а потом исходный запрос повторился?
Это моя обновленная подпись:
@POST("/auth/actions/refresh")
fun refreshToken(@Body tokenRefresh: TokenRefresh): Single<LoginResponse>
Я думал о создании базового класса репозитория с методом withAuth()
, который принимает любой Observable
/ Single
/ Flowable
, а затем применяет эту логику, но я не могу найти способ ее реализовать.
Увидел кучу реализаций, но ни одна из них не соответствует моим потребностям ... может кто-нибудь подтолкнуть меня в правильном направлении?
Это самый близкий , который я обнаружил, однако, похоже, есть некоторые ошибки при отображении плоских объектов