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