firebase - 是否可以为不活动实现自动注销功能?

标签 firebase email flutter logout auto

我正在尝试在使用 Firebase 时在 flutter 上不活动 x 分钟后实现自动注销功能,身份验证方法是电子邮件。

我在网上搜索过,但我发现的都不是为了 flutter 。

非常感谢任何帮助,谢谢!

最佳答案

您可以对所有 api 实例使用拦截器,例如 this ,而是自定义 onRequest 方法。

思路是:hit api发生时保存时间信息。然后每当另一个命中 api 发生时,检查现在和上次保存时间之间的持续时间。

如果持续时间超过,比方说 5 分钟,那么你可以调用方法注销,否则你可以继续请求

这里有一些片段可以清楚地说明:

Future<Dio> getApiClient() async {
_dio.interceptors.clear();
_dio.interceptors
    .add(InterceptorsWrapper(onRequest: (RequestOptions options) {
  // Do something before request is sent

  var pref = await SharedPreferences.getInstance();
  var timeNow = DateTime.now().millisecondsSinceEpoch;
  var lastHitApi = pref.getInt(LAST_HIT_API);
  var delay = timeNow - lastHitApi;
  pref.setInt(LAST_HIT_API, timeNow);

  if (delay > DELAY_MAX) {
    // do logout here
  }


  return options;

},onResponse:(Response response) {
    // Do something with response data

    return response; // continue

}, onError: (DioError error) async {
  // Do something with response error

}));

_dio.options.baseUrl = baseUrl;
return _dio;

编辑:我猜 this一个更可取

关于firebase - 是否可以为不活动实现自动注销功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58032966/

相关文章:

flutter - 如何在 Flutter 中更改状态栏和应用栏颜色?

.net - 如何使用.NET Framework验证电子邮件地址格式?

flutter - 更改本周第一天的日期时间格式

android - Firebase 查看 friend 的帖子

java - FirebaseUI,指定在特定情况下打开特定 Activity (注册后)

PHP电子邮件风格

java - 电子邮件 IMAP 邮件 获取

flutter - 如何全局更改 appBar 后退图标主题?

swift - 如何检测观察者何时完成 Firebase

swift - 检查打开应用程序的人是否已经是经过身份验证的用户 FirebaseAuth swift