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

时间:2020-02-26 22:40:45

标签: firebase flutter dart google-cloud-firestore firebase-authentication

我正在使用Dart语言和Firebase进行身份验证来创建Flutter应用。

我为用户注册的代码是

  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);
  }

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

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

2 个答案:

答案 0 :(得分:3)

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

AuthResult result = await FirebaseAuth.instance.createUserWithEmailAndPassword(email: _email, password: _password);
FirebaseUser user = result.user
await Firestore.instance.collection('users').document(user.uid).setData({ 'firstName': _firstName'})

答案 1 :(得分:0)

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

在同一页面上,您可能会发现very nice example扑朔迷离。

如果您在同一软件包页面上寻求更多详细信息,您可能会发现API reference

只需研究此软件包,一切都应该存在。

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