2016-05-14 67 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