/Refresh-Token-Sample

Android Refresh token with Retrofit, OkHttp, Kotlin Coroutines Mutex 🔂 When multiple requests hit 401 (HTTP_UNAUTHORIZED), only single Refresh token request will be executed. After successful refresh, all pending requests will be executed concurrently. Example of encryption Jetpack Proto DataStore with Tink. Secured Proto DataStore. This example app shows how you can encrypt your data when using Proto DataStore from Jetpack.

Primary LanguageKotlinMIT LicenseMIT

Android Refresh Token Sample 🔂

  • Android Refresh token with Retrofit, OkHttp and Coroutines Mutex.
  • When multiple requests hit 401 (HTTP_UNAUTHORIZED), only single Refresh token request will be executed.
  • After successful refresh, all pending requests will be executed concurrently.
  • Store user and token using Proto DataStore from Jetpack.
  • This example app shows how you can encrypt your data when using Proto DataStore from Jetpack.

Build CI

Features

  • ✅ Refresh token only once for multiple requests
  • ✅ Log out user if refreshToken failed
  • ✅ Log out if user gets an error after first refreshing
  • ✅ Queue all requests while token is being refreshed

Run local server

cd server
npm i
npm run start

Change baseUrl at app/src/main/java/com/hoc081098/refreshtokensample/data/DataModule.kt