我在我的项目中使用改造进行网络连接。问题是我必须从我的第一个活动中调用 2 个请求。它工作正常,但是当访问令牌过期时,它必须刷新令牌。我已经使用 okhttp Authenticator 实现了一个调用。但是它多次调用并且这个错误也显示出来too many followup request 21
编辑
我更新了 TokenAuthenticator 类并添加了 synchronized()。但它是从if (originalRequest.header("Authorization") != null) return null. 我正在关注这个答案/sf/answers/3675918571/
如果我要删除if (originalRequest.header("Authorization") != null) return null此行,则它可以正常工作,但在日志报告中,我看到它多次调用刷新令牌。我怎样才能避免这种多次调用?
这是我的 Authenticator 类
class TokenAuthenticator : Authenticator {
private val refreshTokenGrandType = "refresh_token"
private var oldToken: String? = null
private var newToken: String? = null
override fun authenticate(route: Route?, response: Response?): Request? {
oldToken = SharedPreferenceManager(MainApplication.applicationContext()).getToken()
if (response == null) return null
val originalRequest = response.request()
if …Run Code Online (Sandbox Code Playgroud)