Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase使用手机登录&;密码_Firebase_Google Cloud Functions - Fatal编程技术网

Firebase使用手机登录&;密码

Firebase使用手机登录&;密码,firebase,google-cloud-functions,Firebase,Google Cloud Functions,我希望用户能够登录与电话和密码 如果用户第一次进入应用程序,他将通过验证他的电话号码进行注册,这是firebase的当前状态。但是我不想每次用户想要登录时都向他发送短信代码 现在,在身份验证的下一步中,用户应该输入电子邮件和密码,以便我可以将凭据与手机链接。用户现在可以使用电子邮件和密码以及电话和验证码登录 但我想有一个功能,用户可以登录与电话号码和密码。因此,我可以为“doesPhoneNumber”exist编写一个云函数,通过用户数据库告诉我用户是否可以登录或必须注册 下一个函数现在是我的

我希望用户能够登录与电话和密码

如果用户第一次进入应用程序,他将通过验证他的电话号码进行注册,这是firebase的当前状态。但是我不想每次用户想要登录时都向他发送短信代码

现在,在身份验证的下一步中,用户应该输入电子邮件和密码,以便我可以将凭据与手机链接。用户现在可以使用电子邮件和密码以及电话和验证码登录

但我想有一个功能,用户可以登录与电话号码和密码。因此,我可以为“doesPhoneNumber”exist编写一个云函数,通过用户数据库告诉我用户是否可以登录或必须注册


下一个函数现在是我的实际问题,我想将电话号码和密码发送到一个额外的云函数以接收authToken,但如何验证该函数中的凭据是否正确

您不应该处理您的用户登录

每个平台都有可供登录的端点。这些端点告诉您登录是否成功,并返回所需的用户信息

阅读更多信息:

可以使用

云功能需要先保存注册手机和密码

当客户端请求登录时,云功能会执行查询以验证手机和密码。如果有效,则云函数将创建
自定义令牌
,并将其发送回响应

然后,客户端使用该
自定义令牌登录firebase auth。
有关使用自定义令牌登录的文档,请参见:

另一个解决方案是把电话号码的末尾放上
@somesite.com
,使其成为
电子邮件。

例如
08234545@somesite.com
然后让客户端使用电子邮件和密码登录

这并没有以任何方式回答我的问题。你如何在不将密码存储在数据库中的情况下验证密码?还有另一个“黑客”解决方案,将手机作为电子邮件。例如012345@site.com因此,您可以使用电子邮件和密码登录。通过这种方法,您可以禁用用户重置密码的功能。不,我们仍然可以使用firebase admin sdk直接轻松更新用户密码,而无需向电子邮件发送重置密码。您可以使用firebase云功能或您自己的服务器来创建用于更新/重置密码的Web服务。存在安全风险,但您仍然可以通过将userId作为参数发送来提高安全性,您可以发送
idToken
,以便验证服务器。