TokenRefreshInterceptor class

author:郑再红 email:1096877329@qq.com date:2026-08-07 9:44 describe: Token 自动刷新拦截器 当请求返回 401/403 时,自动调用 tokenProvider 刷新 Token 并重试原请求。 支持并发请求场景下的 Token 刷新去重。

Inheritance

Constructors

TokenRefreshInterceptor({required Future<String> tokenProvider(), bool isUnauthorized(AdapterException error, AdapterRequest request)?, AdapterRequest onRequestUpdated(AdapterRequest request, String newToken)?, void onTokenRefreshed(String newToken)?, void onTokenRefreshing()?, void onTokenRefreshFailed(Object error)?})

Properties

hashCode → int
The hash code for this object.
no setterinherited
isUnauthorized → bool Function(AdapterException error, AdapterRequest request)?
判断是否为需要刷新 Token 的错误(默认判断 401)
final
lastRefreshTime → DateTime?
no setter
onRequestUpdated → AdapterRequest Function(AdapterRequest request, String newToken)?
刷新 Token 后,更新请求中认证信息的回调 request 原始请求,newToken 新 Token,返回更新后的请求
final
onTokenRefreshed → void Function(String newToken)?
Token 刷新成功后的回调(可选)
final
onTokenRefreshFailed → void Function(Object error)?
Token 刷新失败后的回调(可选)
final
onTokenRefreshing → void Function()?
Token 刷新前的回调(可选)
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
tokenProvider → Future<String> Function()
Token 刷新回调,返回新的 access token
final

Methods

clearCache() → void
清除所有缓存的请求
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onError(AdapterException error, ErrorInterceptorHandler handler) → void
错误拦截
override
onRequest(AdapterRequest request, RequestInterceptorHandler handler) → void
请求拦截
override
onResponse(AdapterResponse response, ResponseInterceptorHandler handler) → void
响应拦截
override
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited