Vivek Modi
03/22/2025, 7:25 PM401 Unauthorized
, I attempt to refresh the token. The refresh token API call succeeds, but when I retry the profile API call, it still returns 401
.Vivek Modi
03/22/2025, 7:25 PMVivek Modi
03/22/2025, 7:25 PMval client = HttpClient {
install(Auth) {
bearer {
refreshTokens {
val newToken = refreshAccessToken() // Calls refresh API
if (newToken != null) {
TokenStorage.saveTokens(newToken) // Save new token
newToken
} else {
logOutUser()
}
}
}
}
}
Vivek Modi
03/22/2025, 7:26 PM401
. How should I handle this scenario to force a logout when token refresh fails or the server keeps rejecting requests?leandro
03/22/2025, 8:38 PMbearer {
loadTokens {
BearerTokens(
accessToken = //get from your storage
refreshToken = //get from your storage
)
}
}
Vivek Modi
03/24/2025, 3:40 PMleandro
03/24/2025, 7:44 PMrefreshTokens
) gets called when your api returns 401, so you can renew the tokens and try againKibet Theophilus
03/25/2025, 5:56 AMBhavesh
03/25/2025, 10:40 AMinstall(Auth){
bearer {
loadTokens {
BearerTokens(accessToken,refreshToken)
}
refreshTokens {
// Calls refresh API
val newToken = refreshAccessToken()
if (newToken != null) {
// Save new token
TokenStorage.saveTokens(newToken)
// Pass new accessToken
BearerTokens(newToken,refreshToken)
} else
logOutUser()
}
}
}
Vivek Modi
03/25/2025, 9:54 PMKibet Theophilus
04/10/2025, 5:28 AMinstall(HttpRequestRetry) {
retryOnServerErrors(maxRetries = 5)
delayMillis { retry ->
retry * 2000L
}
}