firebase - 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);
}
有谁知道我将如何使用新创建的用户凭据在数据库中为用户创建一个条目?
解决方案
您可以从 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})
推荐阅读
- javascript - How to Export Variables with a Dynamic Names
- android - 如何使用 gps 提供跟踪用户位置的服务?
- javascript - 难以发出多个 api / http node.js 请求
- android - Network Only Resource From Livedata To RxJava
- linux - 跟踪 syslog() 调用的来源
- php - 使用 PHP/Symfony/Twig 将插件添加到简单的应用程序
- apache-nifi - Nifi Jolt 重复属性
- c# - Get Response Data in XML format in IRestResponse response = client.Execute(request);
- elasticsearch - Elasticsearch nested aggregation with nested object using NEST
- c - How to minimize data space used? (redeclaring a 2D array in a function)