如何通过检查官方身份验证数据库中的正确用户ID来保护Firebase [英] How to secure Firebase by checking for correct userID in the "official" Authentication database

查看:4
本文介绍了如何通过检查官方身份验证数据库中的正确用户ID来保护Firebase的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有用户,注册了Firebase身份验证的电子邮件功能。 只有经过身份验证的用户才能写入我的FiRestore数据库。

我的规则(摘自文档):

allow write: if request.auth != null;

允许访问存在非空auth对象的每个请求。这看起来不太安全。因为您只需使用任何auth = {something: "hacker"}对象发出请求。

所以,为了避免这个问题。如何检查给定的request.auth.uid是否实际来自Firebase身份验证服务?

推荐答案

request.auth变量由Firebase根据客户端随每个请求一起发送的ID令牌在服务器上自动填充。为给定的Firebase项目创建ID令牌需要您有权访问该项目的管理凭据。

这意味着,只要您确保不公开共享项目的管理凭据,任何人都不能将自己的信息注入到ID令牌中,并且数据库中的request.auth对象实际上是安全的,不会被篡改。


您问题中的规则限制可以写入数据,因为用户需要登录到Firebase身份验证才能写入。您通常还希望通过控制访问权限(例如,仅允许用户access their own data)和validating the data写入来限制用户可以执行的操作。

这篇关于如何通过检查官方身份验证数据库中的正确用户ID来保护Firebase的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆