#dart #flutter #firebase-authentication #facebook-login #google-signin
#дротик #flutter #firebase-аутентификация #facebook-вход в систему #google-вход в систему #dart
Вопрос:
В моем приложении пользователь может входить / выходить из системы с несколькими учетными записями, такими как Anonymous
, Google
, Facebook
Twitter
, phone
email
,,,.
Более того, когда в систему входит более 1 поставщика, я использую FirebaseAuth
linkWithCredential
и связываю новые учетные данные поставщика с существующими FirebaseUser
.
Я слушаю FirebaseAuth
onAuthStateChanged()
, чтобы получить события входа / выхода, и это работает так, как ожидалось.
Однако в методе прослушивания я хотел бы проводить различие между этими поставщиками и иметь возможность отключать / включать кнопки входа / выхода разных поставщиков.
Как я могу узнать, FirebaseAuth
у каких провайдеров в данный момент выполнен вход в систему?
firebaseAuth.onAuthStateChanged.map((FirebaseUser user) {
//do something with the user to understand which of the MULTIPLE providers he/she is currently signed in/out with
});
Комментарии:
1. Вы уже пробовали
providerData
использовать FirebaseUser?2. @RubensMelo Я видел providerData, но я не знаю, как воспользоваться этим, чтобы, скажем, переключить регистр для проверки всех поставщиков. Можете ли вы заполнить часть комментария фрагмента кода хотя бы псевдокодом в ответе?