Я использую 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
С уважением, Джонатан