2

我的颤振应用程序正在使用刷新和访问令牌来验证对 ac# Web API 的请求。这完美地工作。但是,一旦我引入 android_alarm_manager 来进行数据的一些后台同步(使用隔离),我发现我的刷新令牌在一段时间后变得无效(我将刷新令牌存储在本地存储中)。

这是由于多个隔离同时请求新的访问令牌(由于隔离不共享内存,我无法锁定该方法)。现在我不确定保持令牌同步的最佳方法是什么。

我在想每个隔离都可以有自己的刷新和访问令牌,但这似乎不是一个好主意,因为我必须在本地存储用户名和密码。我的另一个想法是使用隔离通​​信或本地存储在隔离之间设置一些同步策略,但感觉有点矫枉过正。

谢谢

4

1 回答 1

0

看一下 Flutter 地理围栏示例:

回购:https ://github.com/bkonyi/FlutterGeofencing/tree/master/lib/src 文章:https ://medium.com/flutter/executing-dart-in-the-background-with-flutter-plugins-and -地理围栏-2b3e40a1a124

它使用 SendPorts 跨隔离区进行通信,这听起来像您需要的:

https://api.flutter.dev/flutter/dart-ui/IsolateNameServer-class.html

然后,您可以更新任何隔离区中的令牌并通过 SendPort 将其发送到所有隔离区以保持同步。

于 2019-07-16T10:09:39.743 回答