我正在创建一个网络镜像提供程序,如下所示:
ImageProvider image = NetworkImage(
url,
headers: {"Authorization": "Bearer " + accessToken});
但是accessToken将在某个时刻过期。在这种情况下,如何在与创建请求完全不同的位置显示图像,如何刷新 token ?
最佳答案
一种解决方案是使用自定义HttpClient在后台实现 token 刷新。 HttpClient由NetworkImage内部使用,因此,如果您“覆盖”客户端,则NetworkImage会自动将其拾取。代码取自here
class MyHttpClient implements HttpClient {
...
// An implementation of the HttpClient interface
...
}
main() {
HttpOverrides.runZoned(() {
...
// Operations will use MyHttpClient instead of the real HttpClient
// implementation whenever HttpClient is used.
...
}, createHttpClient: (SecurityContext c) => new MyHttpClient(c));
}
关于dart - NetworkImage抖动- token 已过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55913308/