dart - 在进入应用程序之前检查用户是否使用 firebase 登录

标签 dart flutter firebase-authentication

我需要在不延迟打开我的应用程序的情况下检查用户是否新鲜或已经登录,并且应根据用户的登录状态显示屏幕

最佳答案

从 Firebase Auth 检查用户身份验证状态总是会有延迟。例如,使用 FirebaseAuth.instance.authStateChanges().listen()

监听 auth 状态变化
FirebaseAuth.instance
  .authStateChanges()
  .listen((User? user) {
    if (user == null) {
      print('User is currently signed out!');
    } else {
      print('User is signed in!');
    }
  });

作为解决方法,我最后所做的是使用 shared_preferences 存储身份验证状态.使用此功能,如果存储了身份验证 session ,应用程序可以立即将用户重定向到主页。如果用户身份验证状态发生任何变化,FirebaseAuth authStateChanges 监听器稍后可以更新 SharedPreferences。

关于dart - 在进入应用程序之前检查用户是否使用 firebase 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54294578/

相关文章:

javascript - FCM 通过 JavaScript 访问 token key

firebase - 如何解决代码10,消息10 : with google signing option

android - Flutter Event Channel Stream 导致应用程序崩溃(与设备的连接丢失)

dart - 无法使原始路径相对并且没有这样的文件或目录

android - 签署 android bundle : Execution failed for task ':app:signReleaseBundle' 时出错

flutter - 使用Flutter TDD返回基于json文件的有效BusinessCard模型

android - 我可以自定义 firebase OTP 数字(默认 6 到 4)吗?

Flutter - 根据用户文本输入从 API 刷新列表的位置

flutter - 在 Flutter 应用程序中使用 Charles 代理检查 WebSocket 包

flutter 动画背景滤波器