Firebase使用手机登录&;密码
我希望用户能够登录与电话和密码 如果用户第一次进入应用程序,他将通过验证他的电话号码进行注册,这是firebase的当前状态。但是我不想每次用户想要登录时都向他发送短信代码 现在,在身份验证的下一步中,用户应该输入电子邮件和密码,以便我可以将凭据与手机链接。用户现在可以使用电子邮件和密码以及电话和验证码登录 但我想有一个功能,用户可以登录与电话号码和密码。因此,我可以为“doesPhoneNumber”exist编写一个云函数,通过用户数据库告诉我用户是否可以登录或必须注册Firebase使用手机登录&;密码,firebase,google-cloud-functions,Firebase,Google Cloud Functions,我希望用户能够登录与电话和密码 如果用户第一次进入应用程序,他将通过验证他的电话号码进行注册,这是firebase的当前状态。但是我不想每次用户想要登录时都向他发送短信代码 现在,在身份验证的下一步中,用户应该输入电子邮件和密码,以便我可以将凭据与手机链接。用户现在可以使用电子邮件和密码以及电话和验证码登录 但我想有一个功能,用户可以登录与电话号码和密码。因此,我可以为“doesPhoneNumber”exist编写一个云函数,通过用户数据库告诉我用户是否可以登录或必须注册 下一个函数现在是我的
下一个函数现在是我的实际问题,我想将电话号码和密码发送到一个额外的云函数以接收authToken,但如何验证该函数中的凭据是否正确 您不应该处理您的用户登录 每个平台都有可供登录的端点。这些端点告诉您登录是否成功,并返回所需的用户信息 阅读更多信息:可以使用 云功能需要先保存注册手机和密码 当客户端请求登录时,云功能会执行查询以验证手机和密码。如果有效,则云函数将创建
自定义令牌
,并将其发送回响应
然后,客户端使用该自定义令牌登录firebase auth。
有关使用自定义令牌登录的文档,请参见:
另一个解决方案是把电话号码的末尾放上@somesite.com
,使其成为电子邮件。
例如08234545@somesite.com
然后让客户端使用电子邮件和密码登录 这并没有以任何方式回答我的问题。你如何在不将密码存储在数据库中的情况下验证密码?还有另一个“黑客”解决方案,将手机作为电子邮件。例如012345@site.com因此,您可以使用电子邮件和密码登录。通过这种方法,您可以禁用用户重置密码的功能。不,我们仍然可以使用firebase admin sdk直接轻松更新用户密码,而无需向电子邮件发送重置密码。您可以使用firebase云功能或您自己的服务器来创建用于更新/重置密码的Web服务。存在安全风险,但您仍然可以通过将userId作为参数发送来提高安全性,您可以发送idToken
,以便验证服务器。