2

在我的Angular 2應用中,我想允許用戶通過電子郵件/密碼,Google和Facebook提供商進行連接。Firebase用戶在登錄時合併驗證提供商

第一次登錄時,我明白在firebase數據庫中創建了一個用戶條目。例如facebook:UUID。如果用戶使用其他提供商登錄,我知道firebase會阻止此操作,尤其是在電子郵件已被使用且已在規則中設置爲唯一的情況下。

所以我的問題是:我們怎麼能自動,對用戶透明,合併數據,如果我們檢測到電子郵件是相同的,例如

在udemy或其他大公司這樣的偉大網站上,我們可以使用多種方法進行驗證。我嘗試使用Facebook和Google(均使用相同的電子郵件)登錄,並且他們自動將我重定向到我獨有的個人資料,而無需我方的任何操作,以確認我想將我的帳戶與其他提供商關聯。

這怎麼能在Firebase中實現? 我們是否需要複製數據並製作我們自己的「用戶數據收集」?

回答

2

當用戶登錄到Firebase身份驗證時,不會在Firebase數據庫中自動創建任何條目。如果你的應用程序創建了這樣的條目,你有代碼爲你做。這很常見,但不是自動的。

如果您希望允許用戶使用任何支持的提供商登錄到同一個帳戶,那麼您正在尋找帳戶鏈接。這是記錄在這裏:https://firebase.google.com/docs/auth/web/account-linking

+0

我看到這個頁面帳戶鏈接,但它似乎需要用戶的操作。有什麼辦法自動創建這個鏈接?當你說登錄時在數據庫中輸入一些數據是很常見的:你有沒有例子? – BlackHoleGalaxy

+0

請參閱http://stackoverflow.com/search?q=%5Bfirebase-authentication%5D+list+of+users –

相關問題