Firebase – auth.uid是共享密钥吗?

看起来,当某人通过oAuth进行身份validation时,Firebase会创build一个类似于google:111413554342829501512的uid。

在Firebase规则中,您可以执行(读取和/或写入):

 ".read": "root.child('users').child(auth.uid).child('isAdmin').val() == true" 

是否因为使用HTTPS而无法通过嗅探networking来读取消息? 这是如何工作的 – UID是Firebase规则使用的共享密钥?

我在浏览器中看到firebase:session::ack中的UID firebase:session::ack在本地存储器中,一旦通过validation。

了解某人的用户ID不是安全风险。

例如,我知道你的堆栈溢出用户ID是4797603.这个事实让我可能find你堆栈溢出。

但这并不能让我假装我是罗恩·罗伊斯顿。 要做后者,我需要知道用户名和密码(以及任何其他因素),你用来login。

这同样适用于Firebase。 如果您知道我的某个Firebase支持的应用程序的用户名是google:105913491982570113897 ,您不能突然冒充我。 唯一的办法是以我身份login,在这种情况下,您需要知道我的Google凭据。