我打算使用 Firebase Queue 推送任务,以便使用他/她的手机号码(如 Whatsapp 移动应用程序)注册用户。我正在使用第三方服务来验证用户的手机号码。验证过程是一个两步过程
- 将用户的手机号码发送到第三方服务,该服务返回一个 request_id 并通过 SMS 将代码发送到用户的手机
- 发送用户输入的request_id和code并验证
这就像用户在安装后第一次打开移动应用程序时我会做的第一件事。由于用户尚未注册,因此没有用户的身份验证数据。
我想问一下我可以向 firebase 队列添加什么样的安全规则,这样外人就不能向 firebase 队列添加/删除任务。
我也可以直接在服务器上公开 API,移动应用程序可以使用这些 API 来执行上述验证,但我认为如果有一种方法可以为这种情况下的 firebase 队列添加一些安全规则,那么我宁愿让移动应用程序仅与 firebase 对话。
目前,任何知道我的应用程序位置的人都可以将任务添加到队列中。由于用户尚未通过身份验证,因此我无法将任何身份验证特定的安全规则添加到 firebase。我正在考虑使用应用程序机密运送移动应用程序,并为 firebase 队列的安全规则设置类似的内容
{
"rules": {
"queue": {
"tasks": {
".write": "newData.appSecret === <appSecret>"
}
}
这<appSecret>
是移动应用程序附带的内容,每个新任务还包含 appSecret。现在,只有知道 appSecret 的客户端才能将任务添加到 firebase 队列。