<分区>
我想弄清楚是否可以从调用 firebase https 云函数的客户端检查 auth 对象以完成以下任务:
1) 只允许具有已验证电子邮件的授权用户调用 https 端点,否则返回 403。
2) 以某种方式访问调用函数的客户端的 uid,以便在数据库中设置 Node ,如 characters/:uid
。
这样做的原因是不允许重复字符。我可以在 req.body 中手动传递 uid
,但这意味着任何人都可以摆弄它并通过发送任何类型的 uid 作为 req.body
有效负载来创建 100 个不同的字符。
我能想到的唯一解决方法是将此逻辑更改为数据库触发器,即客户端写入数据库 void/characters/uid
Node (数据库规则执行整个验证)然后函数监听此更改数据库,处理数据并将其推送到 characters/uid
但这意味着需要额外的逻辑,比如在完成后删除 Node ,而且我不确定如何将错误或成功响应发送回客户端,因为对于 https 函数我们可以 res.send(200 )
或发回错误。