Automati c объединяется при существующей учетной записи с поставщиком электронной почты и паролей в Firebase - PullRequest
0 голосов
/ 14 апреля 2020

Я использую invertase@react-native-apple-authentication для реализации входа с Apple в сочетании с аутентификацией через firebase.

Когда я выполняю этот фрагмент кода и выбираю «Поделиться своей электронной почтой», и у меня уже есть «электронная почта и провайдер паролей »на Firebase с тем же адресом электронной почты, что и на моем Apple ID, провайдеры автоматически объединяются.

const appleAuthRequestResponse = await appleAuth.performRequest({
                requestedOperation: AppleAuthRequestOperation.LOGIN,
                requestedScopes: [AppleAuthRequestScope.EMAIL, AppleAuthRequestScope.FULL_NAME],
})
const { user, email, nonce, identityToken } = appleAuthRequestResponse
const appleCredential = firebase.auth.AppleAuthProvider.credential(identityToken, nonce)
const userCredential = await firebase.auth().signInWithCredential(appleCredential)

Если бы я вместо этого использовал, например, вход через Facebook через response-native-fbsdk для входа с помощью следующих строк:

const credential = firebase.auth.FacebookAuthProvider.credential(accessToken)
firebase.auth().signInWithCredential(credential)

модуль аутентификации правильно выдает ошибку ' auth / account-существующие-with-different-credentials ', так как он обнаруживает, что учетная запись уже занимает адрес электронной почты в базе данных firebase.

Проблема заключается в том, что я не могу остановить слияние во время входа в систему, если только я не сделаю это вручную, посмотрев между запросом и входом в систему авторизованных провайдеров входа в систему электронной почты Apple.

Я бы хотел sh, чтобы иметь возможность обрабатывать такие ошибки, как аутентификация / учетная запись-существует-с-разными-учетными данными, даже при входе в Apple, но, к сожалению, ничего не выдается.

Предназначено ли это поведение?

response-native-firebase версия 5.6.0 Firebase / Auth версия 6.15.0

С уважением, Джонатан

...