2016-08-04 82 views
4

我的問題是Firebase如何生成Uid?它是通過手機上的應用程序安裝生成的,還是基於登錄提供程序通過電子郵件,Facebook,Google或Firebase提供的其他應用程序生成的?Firebase如何生成Uid?

+1

「uid」是Firebase服務器端系統生成的隨機ID。一旦賬戶被創建,那個'uid'不會改變。當你刪除一個賬戶時,'uid'也被刪除。 uid是你如何識別你的各種用戶。通常情況下,開發人員在存儲'uid'的根目錄下有'users'節點。 –

+0

我認爲@RonRoyston上面的評論是最完整的答案和我想知道的!謝謝! –

回答

2

Firebase用戶ID(通常稱爲uid)是用戶帳戶的不透明標識符。它與帳戶的底層身份提供商沒有關係,應該被視爲不透明的值。

+0

當用戶註銷應用程序並輸入另一個帳戶時,Firebase是否檢測到註銷並更改了uid,或者是否最好不將uid映射到電子郵件進行身份驗證? – Andrea

+0

如果用戶註銷,則Firebase客戶端會擦除該令牌。所以它有效地忘記了用戶的一切。您似乎有一個非常具體的行爲,所以我強烈建議您嘗試一下,並將您的方法基於您的發現。 –

1

UUID是基於時間戳和一些熵自動生成的。 UUID可以根據創建時間進行排序,這有助於維護Firebase中的索引。

UUID不是一些散列,例如電子郵件地址或Facebook標識或其他。通過去除uid本身的所有含義,它不依賴於任何基礎屬性,這些屬性可以自由更改。

如果您想使用自定義UID,您需要保持一致。建議不要將某些用戶標識創建和登錄屬性緊密結合在一起,因爲屬性可能會更改,並且用戶標識不一致。

+0

我認爲OP在詢問Firebase UID,這是Firebase身份驗證用於識別用戶的關鍵。 –

+0

firebase中的UID也是UUID。 –

+0

UID現在確實是UUID。但是你所描述的不是UUID。基於時間戳+隨機數據的東西被稱爲[推式ID](https://firebase.googleblog.com/2015/02/the-2120-ways-to-ensure-unique_68.html)(因爲它們是通過調用'推()')。 –