需要调用一个API以使用翻新来刷新android mvvm中的令牌,在哪里编写逻辑?

时间:2019-11-11 13:37:52

标签: android api mvvm retrofit token

登录时,我们会获得一个授权令牌和一个刷新令牌,授权令牌与所有API都附加在标头中,但是一段时间后,授权令牌将过期,我们将获得401 刷新后,我们需要使用登录时获得的带有刷新令牌的API来调用API,作为响应,我们将获得一个新的授权令牌和刷新令牌。问题是捕获401并在点写入的地方,以调用刷新令牌API 并重新发送以前失败的API,我们无法在拦截器中调用该API。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

Okhttp(用作翻新的http层)具有执行此操作的机制。看看https://square.github.io/okhttp/4.x/okhttp/okhttp3/-authenticator/

您在设置过程中将身份验证器提供给Okhttp构建器,然后它会响应401错误响应以获取刷新令牌。