Flutter:使用从 Firebase 身份验证创建的帐户在 Firestore 中创建用户

     2023-02-23     121

关键词:

【中文标题】Flutter:使用从 Firebase 身份验证创建的帐户在 Firestore 中创建用户【英文标题】:Flutter: Creating a user in Firestore using the account created from Firebase Authentication 【发布时间】:2020-06-10 21:41:18 【问题描述】:

我正在创建一个使用 dart 语言和 Firebase 进行身份验证的颤振应用程序。

我的用户注册代码是

  Future<void> signUp() async 
if(_formKey.currentState.validate())
  _formKey.currentState.save();
  try
    AuthResult user = await FirebaseAuth.instance.createUserWithEmailAndPassword(email: _email, password: _password);

    Navigator.of(context).pop();
    Navigator.pushReplacement(context,MaterialPageRoute(builder: (context)=> LoginPage()));
  catch(e)
    print(e.message);
  

有谁知道我将如何使用新创建的用户凭据在数据库中为用户创建一个条目?

我已经使用我手动输入的虚拟用户设置了数据库,但希望能够从注册用户创建条目。

【问题讨论】:

该文档包含有关如何将文档添加到 Firestore 的说明。我会从那里开始。 firebase.google.com/docs/firestore/manage-data/add-data 你要在哪个数据库中添加什么信息? 【参考方案1】:

您可以从 AuthResult 获取 uid 以在 Firestore 中创建文档。 setData 更新文档,或者在这种情况下,创建一个,因为它不存在。确保安装 cloud_firestore_package。

UserCredential result = await FirebaseAuth.instance.createUserWithEmailAndPassword(email: _email, password: _password);
User user = result.user
await FirebaseFirestore.instance.collection('users')
      .doc(user.uid).set( 'firstName': _firstName)

【讨论】:

感谢您提供非常有帮助的答案!对于其他阅读本文的人,我添加了软件包并安装了它。然后需要启用多索引link 您可以使用这行代码将多个值添加到一个文档中,如下代码:codeawait Firestore.instance.collection('users').document(user.uid)。 setData( 'firstName': _firstName, 'lastName': _lastName, 'userName': _userName) result.user 返回错误:LateInitializationError: Field 'user;尚未初始化。【参考方案2】:

首先你需要连接到数据库。为此,您必须将cloud_firestore package 添加到您的项目中。

在同一页面上,您可能会发现 very nice example 如何在 Flutter 中进行操作。

如果您在同一包页面上寻求更多详细信息,您可以找到API reference。

只要研究一下这个包,一切都应该在那里。

我希望它会有所帮助!祝你好运!

【讨论】:

从 Flutter 为 Firebase 身份验证设置自定义声明

】从Flutter为Firebase身份验证设置自定义声明【英文标题】:SettingcustomclaimsforFirebaseauthfromflutter【发布时间】:2020-06-2815:06:58【问题描述】:我正在为应用使用Firebase身份验证,但作为用户创建的一部分,我需要设置一些自定义声... 查看详情

请求的身份验证范围不足 - 在 Flutter 中使用 Firebase 从 Google 登录获取生日时出错

】请求的身份验证范围不足-在Flutter中使用Firebase从Google登录获取生日时出错【英文标题】:Requesthadinsufficientauthenticationscopes-Errorgettingbirthdayfromgooglesign-inusingfirebaseinflutter【发布时间】:2021-11-1200:53:31【问题描述】:我正在使用Fl... 查看详情

Flutter:使用谷歌身份验证在 Firebase 存储中实施任何身份验证失败

】Flutter:使用谷歌身份验证在Firebase存储中实施任何身份验证失败【英文标题】:Flutter:implementanyauthenticationinFirebasestoragewithgoogleauthenticationfails【发布时间】:2021-02-1020:30:39【问题描述】:我的应用在Flutter中使用此代码上传图片... 查看详情

无法使用 Flutter 和 Firebase 设置 Facebook 身份验证

】无法使用Flutter和Firebase设置Facebook身份验证【英文标题】:UnabletosetupFacebookauthenticationwithFlutterandFirebase【发布时间】:2021-09-0106:28:39【问题描述】:我正在尝试使用Firebase编写带有身份验证的登录页面。我有正常工作的电子邮... 查看详情

使用 Flutter 的电子邮件进行 Firebase 身份验证

】使用Flutter的电子邮件进行Firebase身份验证【英文标题】:FirebaseAuthwithemailforFlutter【发布时间】:2018-09-2219:00:22【问题描述】:我目前正在努力实现电子邮件注册和登录我的应用程序。出于商业原因,我无法使用Google登录或其... 查看详情

Flutter:Firebase身份验证无需登录即可创建用户

】Flutter:Firebase身份验证无需登录即可创建用户【英文标题】:Flutter:FirebaseauthenticationcreateuserwithoutloggingIn【发布时间】:2019-06-2202:07:19【问题描述】:我的Flutter应用中有一个使用Firebase身份验证的用户管理功能。我可以使用fire... 查看详情

使用 BLoC 进行 Flutter Firebase 电话身份验证

】使用BLoC进行FlutterFirebase电话身份验证【英文标题】:FlutterFirebasePhoneAuthenticationwithBLoC【发布时间】:2020-02-2122:21:53【问题描述】:我正在尝试使用BLoC模式实现Firebase电话身份验证。这是我的集体课classAuthBlocextendsBloc<AuthEvent,... 查看详情

用于 Flutter 桌面嵌入的 Firebase 身份验证插件

】用于Flutter桌面嵌入的Firebase身份验证插件【英文标题】:FirebaseAuthenticationpluginforFlutterDesktopEmbedding【发布时间】:2019-10-2515:41:11【问题描述】:我正在尝试为Flutter桌面嵌入集成Firebase身份验证。如果桌面嵌入,是否有任何用于... 查看详情

Flutter + Firebase Auth:有啥方法可以在 Web 上使用 Firebase 电话身份验证重新发送短信验证码?

】Flutter+FirebaseAuth:有啥方法可以在Web上使用Firebase电话身份验证重新发送短信验证码?【英文标题】:Flutter+FirebaseAuth:IsthereanywaytoresendtheSMSverificationcodewithFirebasephoneauthonweb?Flutter+FirebaseAuth:有什么方法可以在Web上使用Firebase电话... 查看详情

在 Flutter 上使用电子邮件和密码进行 Firebase 身份验证的示例?

】在Flutter上使用电子邮件和密码进行Firebase身份验证的示例?【英文标题】:ExampleofFirebaseAuthwithEmailandPasswordonFlutter?【发布时间】:2018-11-2515:31:30【问题描述】:第一次实现Firebase身份验证,这也是Flutter开发人员的新手,我希望... 查看详情

Flutter Firebase 不保留用户身份验证

】FlutterFirebase不保留用户身份验证【英文标题】:FlutterFirebasedoesnotpersistuserauthentication【发布时间】:2020-10-1912:03:53【问题描述】:我正在Flutter中使用Firebase谷歌身份验证创建一个应用。我能够登录到应用程序,但是当我关闭应... 查看详情

Flutter 中的 Firebase 身份验证状态检查

】Flutter中的Firebase身份验证状态检查【英文标题】:FirebaseAuthstatecheckinFlutter【发布时间】:2018-09-2312:19:04【问题描述】:目前我需要设置一个检查用户是否登录然后采取相应的行动(打开主页或登录屏幕)。我只使用电子邮件... 查看详情

带有 WebView 的 Flutter 应用中的 Firebase 身份验证

】带有WebView的Flutter应用中的Firebase身份验证【英文标题】:FirebaseAuthinaFlutterappwithWebView【发布时间】:2020-03-0218:35:22【问题描述】:我正在开发一个使用FirebaseAuth处理身份验证的Flutter应用。但是,应用程序的某些部分使用WebView... 查看详情

使用存储和 cookie(不使用 Firebase)在 Flutter 中进行身份验证?

】使用存储和cookie(不使用Firebase)在Flutter中进行身份验证?【英文标题】:AuthinFlutterusingstorageandcookie(notusingFirebase)?【发布时间】:2021-03-1117:44:33【问题描述】:我现在正在尝试为Flutter构建一个登录屏幕。我有两个关于它在Flu... 查看详情

如何从移动应用和节点 API 处理 Firebase 身份验证

】如何从移动应用和节点API处理Firebase身份验证【英文标题】:HowtohandleFirebaseAuthfrommobileappandnodeAPI【发布时间】:2020-04-0116:57:41【问题描述】:我正在node.js中构建一个RESTAPI,它需要使用Flutter和一个ReactWeb应用程序作为他们的客... 查看详情

使用带有 Firebase 身份验证的 ProGuard 构建 Flutter 崩溃

】使用带有Firebase身份验证的ProGuard构建Flutter崩溃【英文标题】:FlutterbuildcrashesusingProGuardwithFirebaseAuth【发布时间】:2019-01-2511:37:51【问题描述】:我关注了theseinstructionsonaddingProGuardtoFlutter,现在在启动应用程序时看到了这个异... 查看详情

作为经过身份验证的用户,我如何使用 Flutter 覆盖 Firebase 中的数据?

】作为经过身份验证的用户,我如何使用Flutter覆盖Firebase中的数据?【英文标题】:HowcanioverwritedatainFirebaseasaauthenticatedUserwithFlutter?【发布时间】:2021-06-1121:41:20【问题描述】:我正在使用Flutter和Firebase开发移动应用程序。我的... 查看详情

Flutter - 将 Firebase 通知推送给没有 Firebase 身份验证的特定用户

】Flutter-将Firebase通知推送给没有Firebase身份验证的特定用户【英文标题】:Flutter-pushfirebasenotificationstospecificuserswithoutfirebaseauth【发布时间】:2019-08-2311:55:16【问题描述】:我正在使用Firebase推送通知,但我没有在我的应用上使用... 查看详情