2017-05-05 201 views
1

我的應用程序通過Firebase集成了gmail和facebook身份驗證。我注意到,如果有人用自己的Gmail簽約然後與Facebook簽約,如果Facebook此前相同的電子郵件作爲他們的Gmail那麼他們就會得到錯誤:處理已在使用的電子郵件地址 - Firebase身份驗證

"The email address is already in use by another account."

是處理此通知的唯一合理的方法用戶使用不同的憑據登錄?也許顯示一條消息,如「電子郵件已在使用中,請註冊其他帳戶」?

+0

請看看這篇文章: http://stackoverflow.com/questions/39459524/handling-linking-accounts-in-firebase – Clinton

回答

1

有3種方法可以處理這個問題。

第一個是驗證電子郵件地址是否存在並顯示消息。這正是你所說的。該消息取決於你。

第二種方法是讓用戶每個電子郵件地址擁有多個帳戶。換句話說,如果用戶使用gmail註冊,然後用Facebook註冊並且他擁有相同的電子郵件地址,那麼他最終會擁有2個不同的帳戶。一個電子郵件地址,2個不同的帳戶這不是一個好的做法,但根據您的需要,您甚至可以使用它。

第三種方法是每個電子郵件地址只有一個帳戶。這意味着您正在阻止用戶使用具有不同身份驗證提供程序的相同電子郵件地址創建多個帳戶。這是一種常見做法,也是Firebase控制檯中的默認規則。這意味着,您希望稍後再與其他提供商一起實施另一種認證,它將遵循相同的規則。在這種情況下,將只有一個電子郵件地址和一個帳戶。

要啓用或禁用此選項,請轉至您的Firebase控制檯,選擇Authentication,選擇SIGN-IN METHOD選項卡,並在頁面底部找到Advanced部分。

希望它有幫助。

相關問題