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

Rag*_*h S 6 architecture cross-platform software-design dart flutter

我是开发Flutter应用程序的初学者,并尝试创建用于教育目的的示例应用程序。最近几周,我决定在flutter中创建一个示例应用程序,该应用程序没有内置的登录或注册部分,因为它具有Facebook和Google等社交登录选项。我在网上搜索了很多代码示例,以了解如何在Flutter应用程序中实现Facebook和Google身份验证。

我对这种社交登录实现感到怀疑,也许是由于缺乏移动应用程序体系结构方面的工作经验而正在发生。此时,我要问自己一个问题:“如何在应用程序中管理社交登录用户”

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

shb*_*shb 5

您提出的解决方案足够好。返回的ID对于您的应用是唯一的。

使用返回给您应用的ID作为应用中用户的标识符。

在唯一ID上签出此答案

只是将social_login插件留在这里

// Import package
import 'package:social_login/social_login.dart';

// Instantiate it
 final socialLogin = SocialLogin();

//Before calling any methods, set the configuration
socialLogin.setConfig(SocialConfig(
      facebookAppId: FACEBOOK_APP_ID,
      googleWebClientId: GOOGLE_WEB_CLIENT_ID, /*In case a Google tokenId is needed*/
      twitterConsumer: TWITTER_CONSUMER_KEY,
      twitterSecret: TWITTER_CONSUMER_SECRET,
    ));

// Get current logged user
 final FacebookUser facebookUser = await socialLogin.getCurrentFacebookUser();
 final GoogleUser googleUser = await socialLogin.getCurrentGoogleUser();
 final TwitterUser twitterUser = await socialLogin.getCurrentTwitterUser();

//Log in social networks
 final FacebookUser facebookUser = await socialLogin.logInFacebookWithPermissions(FacebookPermissions.DEFAULT);
 final GoogleUser googleUser = await socialLogin.logInGoogle();
 final TwitterUser twitterUser = await socialLogin.logInTwitter();

//Log out from social networks
 await socialLogin.logOutFacebook();
 await socialLogin.logOutGoogle();
 await socialLogin.logOutTwitter();
Run Code Online (Sandbox Code Playgroud)


小智 3

通过使用 Firebase Authentication SDK 的内置登录(官方指南),您将能够获取 Google、Twitter、Facebook 甚至 Github 等不同平台的登录信息。

您无需编写自己的登录/注册代码,通过使用 Firebase 中的正确功能,一切都可以轻松处理。

之后,您将获得如下登录信息(这是通过电子邮件登录,但也可以使用 Facebook、Google、Twitter 和 Github):

在此输入图像描述

然后,您可以将标识符或用户 UID 链接到数据库中的信息。

在此输入图像描述

哦,最后但并非最不重要的一点是,请记住为登录提供程序设置持久性设置,以在用户关闭应用程序后保持用户登录。