使用Firebase进行用户注册:添加额外的用户信息(年龄,用户名)

问题描述 投票:0回答:1

有了phpMySQL背景,我有点迷失了。

我已经根据教程成功地使用Flutter和Firebase Auth(简单的电子邮件/密码方法)创建了注册过程。

我想在注册表单中添加“用户名”和“年龄”字段。

在Firebase中,我创建了一个名为“users”的数据库,其中包含一个String类型的“userid”,它是空白的。但它甚至是必要的吗?接下来我该怎么办?它是如何映射到身份验证表中的用户UID的?如何用Flutter推它并检索它?

我已经探索过这篇文章,无济于事Add extra User Information with firebase

如果这有帮助,我的身份验证文件包含:

class Auth implements BaseAuth {
  final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;

  Future<String> signIn(String email, String password) async {
    FirebaseUser user = await _firebaseAuth.signInWithEmailAndPassword(
        email: email, password: password);
    return user.uid;
  }

  Future<String> signUp(String email, String password) async {
    FirebaseUser user = await _firebaseAuth.createUserWithEmailAndPassword(
        email: email, password: password);
    return user.uid;
  }

试过这个:

Future<String> signUp(String email, String password) async {
    FirebaseUser user = await _firebaseAuth.createUserWithEmailAndPassword(
        email: email, password: password);

    Firestore.instance.collection('users').document().setData({ 'userid': user.uid, 'displayName': 'bobby' });

    return user.uid;
  }

但它抛出一个错误:

5.17.0 - [Firebase/Firestore][I-FST000001] Write at users/-L_6e1CFkU1YchxsSPay failed: Missing or insufficient permissions.
firebase flutter firebase-authentication registration
1个回答
0
投票

好的,上面看起来都很好。只需根据以下帖子将数据库规则从false更改为true:

https://stackoverflow.com/a/46925637/3475894

© www.soinside.com 2019 - 2024. All rights reserved.