在iOS中使用LinkedIn + firebase auth + Flutter进行登录



我有使用linkedin_login的flutter应用程序:^2.0.1插件&firebase_auth:^3.1.0在Flutter中输入代码

我正在使用LinkedInAuthCodeWidget,并向CloudFunction提供认证状态和认证令牌,并返回该用户登录的JWT自定义令牌。

之后使用firebase方法FirebaseAuth.instance.signInWithCustomToken(token)登录同一个用户

在这一切都为Android工作,但对于iOS,我无法获得Firebase认证用户的电子邮件id。

我已经尝试了FirebaseAuth.instance.currentUser.reload()来检索最新的用户配置文件,但无法获得详细信息。

User object received for 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)

经过搜索和尝试,我找到了解决方案-

当我们使用firebase admin api创建用户时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将通过电子邮件向你提供适当的用户信息。我的问题已经解决了。

如果有人遇到这个问题,可以试试这个。

相关内容

  • 没有找到相关文章

最新更新