доступ к поставщику услуг (Google, facebook, электронная почта, телефон и т.д.) конкретная информация из FirebaseUser / FirebaseAuth

#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, но я не знаю, как воспользоваться этим, чтобы, скажем, переключить регистр для проверки всех поставщиков. Можете ли вы заполнить часть комментария фрагмента кода хотя бы псевдокодом в ответе?