Firebase手机认证:能否创建用户无需登录及验证后保障问题
Firebase手机号与邮箱用户创建流程问题解答
1. 能否通过手机凭证创建新用户而无需登录?
不行。Firebase的手机号认证逻辑是登录即创建账号——当你用未注册的手机号完成验证并调用signInWithPhoneAuthCredential时,系统才会自动生成对应的Firebase User。目前没有单独的接口支持仅通过手机凭证创建用户却不执行登录操作,这是由Firebase手机号认证的设计逻辑决定的,和邮箱认证先创建再登录的流程差异是既定的产品设计。
2. verifyPhoneNumber返回verificationID时的保障问题
针对你提到的两个点,都无法做到绝对保障:
- (a) 无法保障客户端已收到短信验证码:
verifyPhoneNumber返回成功仅代表Firebase服务器已经向运营商发起了验证码发送请求,但短信的实际送达受运营商链路、用户设备信号、短信拦截软件等多种不可控因素影响,Firebase无法追踪并确认客户端是否真的收到了验证码。 - (b) 无法保障后续登录必然创建用户:即便拿到了
verificationID和正确的验证码,后续调用signInWithPhoneAuthCredential时,依然可能因为网络连接中断、验证码过期、Firebase服务临时故障、账号触发安全风控限制等随机意外情况导致创建失败,不存在绝对的“必然成功”保障。
内容的提问来源于stack exchange,提问作者ctrl freak
相关产品推荐
相关产品推荐

