有了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.
好的,上面看起来都很好。只需根据以下帖子将数据库规则从false更改为true: