#swift #firebase #firebase-authentication
#swift #firebase #firebase-аутентификация
Вопрос:
Я пытаюсь связать существующие учетные записи Firebase с учетными записями Microsoft.
Мой вход в мое приложение для iOS в Microsoft (Azure AD) работает правильно, если учетная запись с тем же адресом электронной почты еще не существует, но я хочу объединить существующие учетные записи с этими учетными записями Microsoft. Причина этого в том, что я хочу определить UID, который пользователь получает, предварительно создав эту учетную запись с помощью Firebase SDK.
Проблема, по-видимому, заключается в том, что эти учетные записи, созданные с помощью Firebase SDK, не могут быть помечены как учетная запись «Microsoft». На самом деле они не получают никакого поставщика после создания. И, с другой стороны, функция Auth.auth().currentUser?.linkAndRetrieveData(with: pendingCred)
, похоже, не работает для тех учетных записей, у которых нет установленного поставщика (пожалуйста, поправьте меня, если это неправильно).
Кто-нибудь знает решение для подключения учетных записей Microsoft к аутентификации Firebase с помощью UID, который я могу определить?
Редактировать: что я выяснил до сих пор:
При входе Auth.auth().signIn(withEmail: email, password: password)
в систему дублированные учетные записи автоматически объединяются с пустым поставщиком (что имеет смысл).
Я бы тоже ожидал такого поведения при использовании Auth.auth().signIn(with: credential)
, но, к сожалению, это не так. Может быть, кто-то еще знает решение.
Комментарии:
1. Firebase поддерживает привязку учетных записей — вы смотрели на это? Например. firebase.google.com/docs/auth/ios/account-linking (iOS) или firebase.google.com/docs/auth/android/account-linking (веб).
2. Да, я это сделал. Но мне кажется, что связывание работает только в том случае, если уже есть активный поставщик авторизации, с которым я хочу связать. В моем случае есть только «пустые» учетные записи, в которых ранее не был установлен поставщик авторизации.