在Google flutter应用程序中管理社交用户详细信息

问题描述 投票:0回答:1

我是开发Flutter应用程序的新手,并尝试创建用于教育目的的示例应用程序。最近几周,我决定在flutter中创建一个没有内置登录或注册部分的示例应用程序,因为它具有Facebook和Google之类的社交登录选项。我在Google上搜索了很多代码示例,以了解如何在Flutter应用程序中实现Facebook和Google身份验证。我对这种社交登录的实现方式表示怀疑,可能是由于缺少移动应用程序体系结构级别的工作经验而导致的。在这一点上,我问自己一个问题:“如何在应用程序中管理社交登录用户”

我有一个解决方案,例如,如果用户可以成功登录ed,将用户详细信息存储到我们的数据库(firebase db)中,请检查数据库中是否存在用户电子邮件,如果数据库中没有匹配的条目,它将在数据库中创建一个新用户,或者如果存在,则更新该特定用户的上次登录日期时间。因为此应用程序以其他形式显示了一些与用户相关的数据,所以它是基于登录的用户ID进行工作的,因此我需要将登录的用户详细信息存储在数据库中。如果有其他最佳解决方案,请提出建议。任何帮助,不胜感激。

感谢

flutter dart architecture cross-platform software-design
1个回答
0
投票

您应该将Flutter应用程序分成两部分:

  1. 应用程序的“主要”部分。它显示与用户相关的数据。
  2. 登录/注册部分。

逻辑很简单。在应用程序启动时,您检查用户是否已通过身份验证。如果是,请导航至主屏幕。如果不是,请向他展示注册屏幕。这是使用Firebase作为后端来实现的方法:

final currentUser = await FirebaseAuth.instance.currentUser();
if (currentUser != null){
  // We're good: the user is authenticated.
  // Show him the main screen.
  Navigator.of(context).pushReplacement(MaterialPageRoute(
    builder: (context) => HomeScreen()
  ));
} else {
  // The user is not logged in.
  // Show him the sign in/sign up screen.
  Navigator.of(context).pushReplacement(MaterialPageRoute(
    builder: (context) => SignInScreen()
  ));
}
© www.soinside.com 2019 - 2024. All rights reserved.