Вход Android Firebase OAuth в странном поведении

Когда я впервые вхожу в систему с учетной записью Google, а затем вхожу в нее с помощью учетной записи Facebook, Firbase возвращает "ERROR_ACCOUNT_EXISTS_WITH_DIFFERENT_CREDENTIAL". Это правильно, потому что я отключил параметры подписи с несколькими учетными данными из консоли Firebase.

Проблема возникает при первом входе в систему с использованием учетной записи Facebook. Поставщики указаны правильно, а UserInfo показывает информацию об учетной записи пользователя facebook. Но электронная почта не подтверждена.

FirebaseUser user = getFirebaseUser();
user.isEmailVerified() // is false

И очень странное поведение происходит, когда я вхожу в учетную запись Google. Первая база данных firebase не возвращает одно и то же исключение учетных данных. Потому что у меня есть вход в систему через учетную запись facebook. И Firebase удалила учетную запись facebook, но у меня есть вход в учетную запись facebook. Информация о пользователе Facbook удалена из user.getProviderData(). Я проверил консоль Firebase. Там отображается, что я вошел через Facebook


person Vahe Gharibyan    schedule 08.12.2017    source источник


Ответы (1)


Проверьте этот пост, чтобы понять, почему электронные письма Facebook не проверяются: Аутентификация Firebase Facebook: электронная почта проверена всегда неверно

Если вы хотите считать электронную почту Facebook проверенной, вы можете использовать Admin SDK admin.auth().updateUser(uid, {emailVerified: true}), чтобы установить электронную почту Facebook как проверенную. Узнайте больше здесь: https://firebase.google.com/docs/auth/admin/manage-users#update_a_user

Проверьте этот пост, чтобы узнать, почему учетная запись Facebook отключается после входа в Google: Аутентификация сначала с помощью Facebook, а затем Google вызывает ошибку в Firebase для Android

person bojeil    schedule 11.12.2017