2016-05-14 37 views
3

看来,当某人通过oAuth进行身份验证时,Firebase会创建一个类似google:111413554342829501512的uid。Firebase - 是auth.uid共享的秘密吗?

在火力地堡的规则,你可以做(​​读和/或写):

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

是不是认为我不能被嗅探,因为使用HTTPS的网络阅读的信息?这是如何工作的 - UID是Firebase规则使用的共享密钥?

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

回答

5

知道某人的用户标识不是安全风险。

例如,我知道您的堆栈溢出用户ID是4797603.仅凭这一事实,我可能会在堆栈溢出中找到您。

但它并没有以任何方式让我假装我是罗恩·罗伊斯顿。为了做后者,我需要知道用于登录的用户名和密码(以及任何其他因素)。

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

+0

我看到多数民众赞成的身份验证提供者名称和提供者ID,安全性仍然保持与Firebase身份验证UID相同?我正在使用geoFire库,而且我正在使用firauth uid存储位置,并且任何人都可以读取这些位置,以便我可以执行circleQueries。我还有另一个使用用户信息的节点,它们也使用相同的firauth uid(安全规则适用),但使用模拟器以及如何处理auth有效载荷我假定其他人知道FIRAuth uid可以制作有效载荷并伪装成用户?谢谢你的建议。 – sweepez