我正在使用Firebase在Swift中构建应用。我想用电子邮件和密码验证用户,但在创建帐户之前,我需要验证用户的电话号码。 我尝试了几种方法,但我仍然在努力解决这个问题。
我成功通过电话号码对用户进行了身份验证(我在Authenticate with Firebase on iOS using a Phone Number)中查看了手机身份验证的精彩教程 并成功通过电子邮件和密码对用户进行了身份验证(我也遵循了Authenticate with Firebase using Password-Based Accounts on iOS中的教程。)
但我无法验证用户的电话号码,然后使用他的电子邮件,密码对用户进行身份验证,并将已验证的电话号码附加到其他用户信息中,例如(唯一用户名,PhotoURL等)。
答案 0 :(得分:0)
有几种方法可以实现这一目标。首先,根据我的经验,您可以更好地验证用户手机,然后再进行身份验证,就像您尝试的那样。我假设它是一个iOS应用程序
我认为firebase没有本机内置的功能。您可能必须使用其他第三方解决方案,如Snich - https://www.sinch.com/products/verification/或nexmo - https://www.nexmo.com/。我个人在之前的实现中只使用了nexmo所以我可以引导你完成这条道路。您需要在此处创建一个帐户 - https://dashboard.nexmo.com/sign-up
完成后,登录并单击页面顶部的验证,查看页面的左侧,您将找到创建应用程序。单击它并使用您的应用名称创建应用程序,根据您的应用程序首选项指定所需的选项。完成后,将为您生成一个app secrete和app id。请记下来。
现在我假设你已经在你的项目中设置了pod,所以我不会进入那个。我的意思是你实现了firebase然后你的项目中有pod设置。通过执行以下操作将nexmoverify sdk添加到项目中:pod'NexmoVerify'
nexmoverify的github repo是:https://github.com/Nexmo/verify-ios-sdk
通过他们的回购它会指导你。
然后,您可以按照本指南 - https://docs.nexmo.com/verify/verify-sdk-for-iOS/integration
将Nexmo验证SDK集成到您的项目中这应该让你去。如果您遇到任何挑战,请告诉我,我会指导您