所以我有一个你可以注册和登录的应用程序。我是用Firebase身份验证的。
然后,我有一个Firestore,其中有多个集合,如“requests”和“offers”。我的应用程序中的Firebase授权用户可以创建新的请求,我将其添加如下:
firestore
.collection('requests')
.add({
category: 'Test',
customer_id: this.props.appState.user.uid, // The uid from Firebase Auth
link: this.state.productLink
})
.then(docRef => {
console.log('Successfully saved!');
})
.catch(error => {
console.log(error);
});
如您所见,我希望将用户的Firbase身份验证uid存储到请求中,以便稍后在应用程序中查询用户的请求。
问题是:那是正确的方式吗?在这一点上,我不想在我的Firestore中创建一个users集合来为一个用户保存更多的数据。在这种情况下,我可以添加一个以uid为键的文档,然后在“requests”集合中保存对用户的引用。但在目前的情况下,我不能或者至少我还没有找到一个方法,阅读文档和搜索谷歌。
给出一个答案,以避免人们必须通读评论对话。
最佳方法是创建一个名为users
的集合,其中文档ID是来自authentication
的用户的UID
。最简单的方法是在new sign up上执行此操作,您可以在处理新用户注册时执行此操作,也可以查看云函数以查找新的身份验证,并运行如下所示的函数:
exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {
// ...
});
不管有没有users集合,只要始终有检索用户信息的方法,就可以像示例中那样存储UID。创建users
集合使操作为用户存储的数据类型变得更加灵活(因为标准身份验证对象的灵活性为零,这是很有道理的)。
我有用户收藏,想使用Firebase uid作为文档_id, eg: Firebase Uid= 如果我不使用
我在注册过程中从用户那里得到了一些信息。我希望每个用户名都是唯一的。我称我的方法如下。 其内容如下。 方法无法向我的变量添加真布尔值。我想,addOnCompleteListener在为我的布尔值赋值时并没有结束。 但是,如果用户名控制后可以获得用户名,则用户身份验证成功,但不会写入Firebase。这可能是什么原因?我在等待您的帮助。
于是我在这里看到:https://firebase . Google . com/docs/auth/web/account-linking # link-auth-provider-credentials-to-a-user-account现在可以在Firebase中链接用户账号了。我还看到Firebase提供了匿名认证的功能,它为一个用户创建一个用户会话,不需要任何凭证。 在我们的应用程序中,
我必须使用laravelajax将数据保存在具有userid的数据库表中。谁能帮我解决这个问题 我的控制器代码 它得到的反应是 我必须保存登录用户ID提交......我user_id空我怎么存储user_id请帮帮我。 提前谢谢
我想在创建新用户时添加用户的DisplayName。当我尝试使用updateProfile方法时,它会发出以下警告 ///更新用户的配置文件数据。 @已弃用('将在版本2.0.0中删除。''改用updatePhotoURL和updateDisplayName。', 你怎么能避开这个?? flutter: User(显示名称:null,电子邮件:test1@gmail.com,emailVerifi
我正在尝试创建一个应用程序,我必须注册用户,我正在使用Firebase进行注册,一旦我将所有数据放入register,然后进入Firebase数据库,我发现我自己并不是在测试模式下创建数据库的注册用户。你能解释一下我可能做错了什么吗? 注册用户代码: 我正在使用实时数据库 规则Firebase: