Вход в систему с помощью LinkedIn авторизация firebase Flutter в iOS

# #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 предоставит вам соответствующую информацию о пользователе по электронной почте. Моя проблема устранена.

Если кто-нибудь решит эту проблему, может попробовать это.