Firebase 验证 phone 号码然后使用 email/password 和 Swift 验证用户

Firebase verify phone number then authenticate user with email/password with Swift

我正在 Swift 使用 Firebase 构建应用程序。我想使用电子邮件和密码对用户进行身份验证,但在创建帐户之前我需要验证用户的 phone 号码。 我尝试了几种方法,但我仍在为这个问题而苦苦挣扎。

我成功地使用 Phone 号码验证了一个用户(我遵循了 Authenticate with Firebase on iOS using a Phone Number 中的 phone 身份验证的精彩教程) 并成功通过电子邮件和密码对用户进行了身份验证(我也遵循了 Authenticate with Firebase using Password-Based Accounts on iOS 中的教程)。

但我无法验证用户的 phone 号码,然后无法使用他的电子邮件、密码对用户进行身份验证,并将已验证的 phone 号码与其他用户信息(唯一用户名、照片 URL)附加在一起...等)。

有几种方法可以实现这一点。首先,根据我的经验,最好先验证用户 phone,然后再对他们进行身份验证,就像您尝试做的那样。我假设它是一个 iOS 应用程序

我认为 firebase 本身没有内置该功能。您可能需要使用其他一些第三方解决方案,例如 Snich - https://www.sinch.com/products/verification/ or nexmo - https://www.nexmo.com/. Personally I have only used nexmo in my previous implementations So I could guide you through that path. You would need to create an account here - https://dashboard.nexmo.com/sign-up

完成后,登录并单击页面顶部的验证,查看页面左侧,您会找到创建应用程序。单击它并使用您的应用程序名称创建一个应用程序,根据您的应用程序偏好指定您想要的选项。完成后,将为您生成一个应用程序密码和应用程​​序 ID。请记下来。

现在假设您已经在您的项目中设置了 pod,所以我不会深入讨论。我的意思是让您实施 firebase 然后在您的项目中设置 pod。通过执行以下操作将 nexmoverify sdk 添加到您的项目中:pod 'NexmoVerify'

nexmoverify 的 github 存储库是:https://github.com/Nexmo/verify-ios-sdk

浏览他们的 repo,它将指导您。

然后您可以按照本指南将 Nexmo 验证 SDK 集成到您的项目中 - https://docs.nexmo.com/verify/verify-sdk-for-iOS/integration

这应该让你继续。如果您遇到任何挑战,请告诉我,我会指导您