【发布时间】:2022-11-28 14:09:01
【问题描述】:
嗨,我在 dart 中使用 http 拦截器来处理 refreshtoken, 一旦使用拦截器调用 refreshtoken api 并获得新的访问令牌,我如何再次调用 api 请求。
class ExpiredTokenRetryPolicy extends RetryPolicy {
@override
Future<bool> shouldAttemptRetryOnResponse(ResponseData response) async {
if (response.statusCode == 401) {
await GetFitbitAccessToken().getAccessToken();
return true;
}
return false;
}
}
------------------------------------
Client client = InterceptedClient.build(
interceptors: [
FitbitApiInterceptor(),
],
retryPolicy: ExpiredTokenRetryPolicy(),
);
【问题讨论】:
-
当您收到第一个不记名令牌时,通常会在其中到期。您可以使用该时间查看令牌是否仍然有效,如果时间已经过去,则意味着需要使用刷新令牌获取新令牌。
标签: flutter dart http interceptor refresh-token