Я разрабатываю приложение Flutter
с использованием Firebase Authentication service
.
Используются следующие плагины Flutter
:
Firebase_auth
Google_sign_in
Facebook_login
Порядок входа в систему:
- Вход через Facebook, Google или по электронной почте и паролю
- Если учетная запись уже создана, войдите в систему
- Если нет, выдает ошибку
Это возможно, если в качестве метода регистрации используется электронная почта и пароль.В плагине Firebase_auth
есть два отдельных метода для сценария электронной почты и пароля: createUserWithEmailAndPassword
и signInWithEmailAndPassword
.Когда метод входа вызывается с несуществующей учетной записью, он выдаст ошибку wrong id/password
.
Однако для метода входа в Facebook / Google плагин предоставляет только signInWithFacebook
и signInWithGoogle
, и они работают так, что при первом входе в систему пользователь использует учетную запись Facebook / Google, Firebase
автоматически создаст аккаунт и вернет вновь созданный аккаунт.(без отдельного процесса sign up
и sign in
)
Я также читаю на Firebase doc для Android Google Войти
После входа пользователя в системувпервые создается новая учетная запись пользователя, которая связывается с учетными данными, т. е. с именем пользователя и паролем, номером телефона или информацией о поставщике аутентификации, с которыми пользователь вошел в систему.Эта новая учетная запись хранится как часть вашего проекта Firebase и может использоваться для идентификации пользователя в каждом приложении в вашем проекте, независимо от того, как пользователь входит в систему.
Итак, мой вопрос:Если пользователь входит в систему с учетной записью Fb / G, которая еще не использовалась для регистрации в моем приложении на Firebase
, как мне сделать Firebase authentication
сгенерировать ошибку вместо автоматического создания новой учетной записи?