实时FireBase设置规则以检查防止重复 [英] RealTime firebase set rules to check prevent duplicates
本文介绍了实时FireBase设置规则以检查防止重复的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试通过电子邮件检查我的数据库中是否存在用户,是否有任何Firebase规则来执行此操作? 我的用户:
public class User {
private String email;
private String password;
private boolean hasRightToDrive;
}
使用此Firebase规则,我无法添加用户:
{
"rules": {
".read": "now < 1640815200000", // 2021-12-30
".write": "!data.exists()", // 2021-12-30
}
}
这样我仍然可以添加多个具有相同邮件的用户
{
"rules": {
".read": "now < 1640815200000", // 2021-12-30
".write": "data.exists()", // 2021-12-30
}
}
推荐答案
使用FireBase的登录过程将在以下用户存在的情况下引发错误:Firebase: Error (auth/email-already-in-use).
如果您的用户不是指没有登录到您的应用程序中的人,而是指只向您发送电子邮件的人。最好的方法是使Firebase函数在您接受电子邮件检查的位置检查它是否全部存在于数据库中,如果存在,则抛出错误。
使用规则,您可以将ID设置为等于用户电子邮件并在规则函数中使用,但不要认为您可以设置文档ID‘@’和‘’。查斯。因此,您将需要使用用户电子邮件地址进行散列,并将散列设置为id。电子邮件都是小写的,所以您可以将id设置为:example@gmail.com
AsexampleAgmailOcom
where A=@and O=.
这篇关于实时FireBase设置规则以检查防止重复的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文