用于处理高级身份验证的firebase队列的安全规则
我打算使用Firebase队列推送任务,以便使用用户的手机号码(如Whatsapp)注册移动应用程序。我正在使用第三方服务验证用户的手机号码。核查过程分为两步用于处理高级身份验证的firebase队列的安全规则,firebase,firebase-security,firebase-queue,Firebase,Firebase Security,Firebase Queue,我打算使用Firebase队列推送任务,以便使用用户的手机号码(如Whatsapp)注册移动应用程序。我正在使用第三方服务验证用户的手机号码。核查过程分为两步 将用户的手机号码发送至第三方服务,第三方服务返回请求id,并通过SMS向用户的手机发送代码 发送用户输入的请求id和代码,并进行验证 这就像用户在安装后第一次打开移动应用程序时我会做的第一件事。由于用户尚未注册,因此没有用户的身份验证数据 我想问我可以向firebase队列添加什么样的安全规则,这样外部人员就不能向firebase队列添加
{
"rules": {
"queue": {
"tasks": {
".write": "newData.appSecret === <appSecret>"
}
}
{
“规则”:{
“队列”:{
“任务”:{
.write:“newData.appSecret==”
}
}
这里是移动应用附带的
,每个新任务中都包含appSecret。现在,只有知道appSecret的客户端才能将任务添加到firebase队列。您尝试了什么吗?而不是(或除了)描述你想要什么,如果你展示你已经尝试过的东西,并展示失败的地方(或你怀疑方法的地方),它会更有用。它让我们以一种不那么模棱两可的方式看到你正在尝试什么(代码胜过文本)以及在您的逻辑中可能存在明显差距的地方。@FrankvanPuffelen我已经用我对安全规则的尝试和想法更新了问题Firebase队列有一个标题为“演示如何向队列中添加新项”的部分。@Kato我的问题不是关于如何向队列中添加任务。我的问题与安全规则有关我应该添加到firebase队列的es,因为客户端将在用户通过身份验证之前添加这些任务。因此,我猜您应该a)通过REST调用执行此操作,或者b)只允许任何人写入队列(有关限制客户端访问的更多信息,请参阅和)。可能是后者,因为它很简单。诀窍是限制请求以防止rainbow攻击。REST调用很好,因为您可以捕获referer IP。您尝试过什么吗?与其(或除了)描述您想要的,不如显示您已经尝试过的,并显示失败的地方(或者在您怀疑方法的地方)。它允许我们以一种不那么模棱两可的方式查看您正在尝试的内容(代码胜过文本)以及在您的逻辑中可能存在明显差距的地方。@FrankvanPuffelen我已经用我对安全规则的尝试和想法更新了问题Firebase队列有一个标题为“演示如何向队列中添加新项”的部分。@Kato我的问题不是关于如何向队列中添加任务。我的问题与安全规则有关我应该添加到firebase队列的es,因为客户端将在用户通过身份验证之前添加这些任务。因此,我猜您应该a)通过REST调用执行此操作,或者b)只允许任何人写入队列(有关限制客户端访问的更多信息,请参阅和)。可能是后者,因为它很简单。诀窍是限制请求以防止rainbow攻击。REST调用很好,因为您可以捕获referer IP。