class TokenInterceptor(
@Volatile
var token: String,
@Volatile
var refreshToken: String
) : Interceptor {
companion object {
const val ACCESS_TOKEN_NAME = "accessToken"
const val REFRESH_TOKEN_NAME = "refreshToken"
const val CODE_NAME = "code"
const val TAG = "TokenInterceptor"
}
fun updateTokenAndRefreshToken(token: String, refreshToken: String) {
this.token = token
this.refreshToken = refreshToken
}
private val refreshTokenUrl = "login/updateToken"
override fun intercept(chain: Interceptor.Chain): Response {
Log.d(TAG, "intercept")
val builder = chain.request().newBuilder()
builder.header(ACCESS_TOKEN_NAME, token)
val outDateToken = token
val response = chain.proceed(builder.build())
// 先判断请求回来的数据是否过期
if (isT
Android 关于Retrofit OkHttp Token过期刷新 请求并发的问题
于 2022-03-07 17:41:12 首次发布