Rag*_*h S 6 architecture cross-platform software-design dart flutter
我是开发Flutter应用程序的初学者,并尝试创建用于教育目的的示例应用程序。最近几周,我决定在flutter中创建一个示例应用程序,该应用程序没有内置的登录或注册部分,因为它具有Facebook和Google等社交登录选项。我在网上搜索了很多代码示例,以了解如何在Flutter应用程序中实现Facebook和Google身份验证。
我对这种社交登录实现感到怀疑,也许是由于缺乏移动应用程序体系结构方面的工作经验而正在发生。此时,我要问自己一个问题:“如何在应用程序中管理社交登录用户”
我有一个解决方案,例如,如果用户可以成功登录ed,将用户详细信息存储到我们的(Firebase)数据库中,请检查数据库中是否存在用户电子邮件,如果数据库中没有匹配的条目,它将在数据库中创建一个新用户,或者是否存在更新该特定用户的最后登录日期时间。由于此应用程序以其他形式显示一些与用户相关的数据,因此它是基于登录的用户ID进行工作的,因此我需要将登录的用户详细信息存储在数据库中。
您提出的解决方案足够好。返回的ID对于您的应用是唯一的。
使用返回给您应用的ID作为应用中用户的标识符。
在唯一ID上签出此答案
只是将social_login插件留在这里
Run Code Online (Sandbox Code Playgroud)// 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();
小智 3
通过使用 Firebase Authentication SDK 的内置登录(官方指南),您将能够获取 Google、Twitter、Facebook 甚至 Github 等不同平台的登录信息。
您无需编写自己的登录/注册代码,通过使用 Firebase 中的正确功能,一切都可以轻松处理。
之后,您将获得如下登录信息(这是通过电子邮件登录,但也可以使用 Facebook、Google、Twitter 和 Github):
然后,您可以将标识符或用户 UID 链接到数据库中的信息。
哦,最后但并非最不重要的一点是,请记住为登录提供程序设置持久性设置,以在用户关闭应用程序后保持用户登录。
| 归档时间: |
|
| 查看次数: |
379 次 |
| 最近记录: |