Firebase安全性和电话身份验证

时间:2020-08-24 09:55:54

标签: java android firebase firebase-authentication firebase-security

我是一名新的android开发人员,因此对firebase规则和电话身份验证感到困惑。 我正在为调度系统编写应用程序。 现在,我正在使用电话号码来验证用户身份。 在我的计划中,我想将约会保存在我的实时数据库Firebase中,并且要为每个电话号码添加用户信息,例如姓名和约会。 第一个问题是如何为每个电话创建一个用户?我可以通过电话身份验证来做到这一点,还是需要创建一个用户对象并将其保存在实时数据库中? 第二个问题是关于安全性。我希望我的用户能够看到所有免费约会并安排一个或多个约会。我需要为每个用户设置哪些规则?

2 个答案:

答案 0 :(得分:1)

您可以通过电话号码使用here来使用Firebase身份验证。用户进行身份验证后,便会为该人创建一个唯一的Uid,您可以使用该Uid使用auth变量获取User数据。这是根据here

使用的Firebaseuser

如果您想为用户创建自定义字段,我建议您获取Uid,然后使用Uid作为主键在说/Users的用户中创建用户数据库,就像{{ 1}}

如果您只希望经过身份验证的用户看到免费约会,则可以执行以下操作,假设root中的“​​约会”分支包含可用的空闲时段。

/Users/Uid

然后您可以通过代码操作数据库,可能将空闲时间从约会转移到{ "rules": { "Appointments": { "freeSlots": { ".read": "$uid === auth.uid" } } } }

然后,如果您希望用户仅看到其广告位,则可以编写如下规则

/User/Uid

此处{ "rules": { "Users": { "$uid": { ".write": "$uid === auth.uid" ".read": "$uid === auth.uid" } } } } 确保用户仅读取属于他们的数据。

您可以找到有关安全规则here

的更多帮助

希望这对您有帮助吗?

答案 1 :(得分:0)

  1. 您已经实现了Firebase电话认证,下一步是使用每个用户的身份验证随附的唯一uid字符串为每个用户创建一个文档,以存储所需的信息。

  2. ,以增加谁可以读/写您必须编写数据库规则Info here

    的安全性