首页 > 解决方案 > Flutter:使用从 Firebase 身份验证创建的帐户在 Firestore 中创建用户

问题描述

我正在使用带有 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);
  }

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

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

标签: firebaseflutterdartgoogle-cloud-firestorefirebase-authentication

解决方案


您可以从 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})

推荐阅读