2017-04-15 49 views
0

我是firebase的新用戶,我已經按照基本教程實施了帶有用戶名/密碼認證以及Google認證的應用。使用谷歌的Firebase應用用戶註冊

這顯然允許我登錄到應用程序,但我想註冊一個用戶併爲他們指定一個特定的角色。作爲一個例子,我可能在應用程序中有兩種類型的用戶,一個買家和一個賣家或者一個請求服務和服務提供者的用戶。我有一個電子郵件/密碼用戶的基本註冊頁面,我可能會添加一個額外的字段來表明他們是什麼類型的用戶,但我不知道如何實施聯合身份提供商的註冊頁面,如谷歌和Twitter。

如何使用其中一個提供者註冊具有特定角色的用戶?

我已經搜索了一些例子,但是我一直沒有找到我想要的。

+0

查看大多數熱門答案:https://www.google.com/search?q=site:stackoverflow.com+firebase+add+user+properties –

+0

謝謝@FrankvanPuffelen。我必須錯過某些明顯的東西,但我仍不明白它如何與Google,Twitter或Facebook等身份提供者協同工作 – pjr

+0

您無法向現有身份提供者添加屬性。因此,您必須創建自己的身份提供者或將其他位置的屬性存儲在您嘗試保護的系統可以訪問的位置。 –

回答

1

不幸的是,您無法向FirebaseUser添加額外的字段。你必須使用「real-time database」。您可以創建名爲「users」的數據庫節點並在那裏保存用戶特定的字段(使用FirebaseUser UID作爲數據庫的關鍵字)。然後,當用戶在您的應用程序中登錄時,您可以從數據庫獲取他們的信息。

詳細解釋:您必須使用Firebase身份驗證登錄並註冊用戶,之後(例如在註冊完成時)將用戶信息保存在實時數據庫節點中。然後登錄後(使用Firebase身份驗證),您將使用用戶的uid從實時數據庫中獲取所有用戶的詳細信息。如果您的用戶可以查看其他用戶的配置文件,那麼您也需要這個功能......您無法從「身份驗證表」中獲取其他用戶信息。

+0

感謝@Utnapishtim我將研究單獨的用戶表,但我如何註冊一個用戶,該用戶將通過此表通過Google,Facebook,Twitter進行身份驗證?我似乎無法找到一個這樣的例子。 – pjr

+0

不,您必須使用Firebase身份驗證來註冊和登錄用戶。您必須使用實時數據庫來存儲Firebase未保存在「身份驗證」中的其他信息。我將編輯答案。 – Utnapishtim

相關問題