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

Posted

技术标签:

【中文标题】在 iOS 中使用 LinkedIn + firebase auth + Flutter 登录【英文标题】:Signin with LinkedIn + firebase auth + Flutter in iOS 【发布时间】:2021-10-30 18:23:48 【问题描述】:

我有使用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() 来检索最新的用户配置文件,但无法获取详细信息。

为 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】:

在搜索和尝试了很多东西后,我找到了解决方案 -

当我们使用 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 将通过电子邮件为您提供正确的用户信息。 我的问题已解决。

如果有人分阶段解决这个问题可以试试这个。

【讨论】:

以上是关于在 iOS 中使用 LinkedIn + firebase auth + Flutter 登录的主要内容,如果未能解决你的问题,请参考以下文章

有人设法在iOS上使用Firebase实现LinkedIn登录吗?

有人设法在 iOS 上使用 Firebase 实现 LinkedIn 登录吗?

在解析服务器/iOS 上以安全的方式集成 LinkedIn 登录

如何使用 Swift 在 iOS 中创建类似于标签栏选择动画的 LinkedIn?

Branch.io 没有为 Facebook 提供预览,在linkedIn 和 Twitter 上工作

iOS 应用程序上的无效重定向 URI Linkedin API