# #ios #firebase #flutter #firebase-authentication #linkedin
Вопрос:
У меня есть приложение flutter, которое использует linkedin_login: ^2.0.1
плагин и firebase_auth: ^3.1.0
введите код здесь, в Flutter
Я использую LinkedInAuthCodeWidget и передаю состояние аутентификации и токен аутентификации в CloudFunction и возвращаю JWT customtoken для входа в систему для этого пользователя.
и после этого, используя метод firebase FirebaseAuth.instance.signInWithCustomToken(токен), войдите в систему того же пользователя.
В этом все работает для Android, но для iOS я не могу получить идентификатор электронной почты пользователя Firebase auth.
Я уже пробовал FirebaseAuth.instance.CurrentUser.reload (), чтобы получить последний профиль пользователя, но не смог получить подробную информацию.
Объект пользователя, полученный для iOS —
(displayName: Test Krunal, email: null, emailVerified: true, isAnonymous: false, metadata: UserMetadata(creationTime: 2021-09-01 12:10:07.330, lastSignInTime: 2021-09-01 12:10:09.056), phoneNumber: null, photoURL: null, providerData, [], refreshToken: , tenantId: null, uid: linkedin:cNEwfSiQjM)
Пользовательский объект, полученный для Android —
(displayName: Test Krunal, email: doshikhxxx@gmail.com , emailVerified: true, isAnonymous: false, metadata: UserMetadata(creationTime: 2021-09-01 12:10:07.330, lastSignInTime: 2021-09-01 12:10:09.056), phoneNumber: null, photoURL: null, providerData, [], refreshToken: , tenantId: null, uid: linkedin:cNEwfSiQjM)
Ответ №1:
После поиска и перепробования стольких вещей я нашел решение —
Когда мы создаем пользователя с помощью api администратора firebase https://firebase.google.com/docs/auth/admin/manage-users#create_a_user это не позволит вам указывать данные поставщика, поэтому для создания нового пользователя из api администратора используйте импорт пользователя https://firebase.google.com/docs/auth/admin/import-users#import_users_without_passwords чтобы добавить данные поставщика в информацию о пользователе.
Как только это будет сделано, iOS предоставит вам соответствующую информацию о пользователе по электронной почте. Моя проблема устранена.
Если кто-нибудь решит эту проблему, может попробовать это.