在 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?