有没有办法使用 Firebase Phone Auth 禁用 Android“即时验证”(自动登录)?有一种方法可以通过将 verifyPhoneNumber 的超时设置为 0 来禁用“自动检索”(参考:https://firebase.google.com/docs/reference/android/com/google/firebase/auth/PhoneAuthProvider.html https://firebase.google.com/docs/reference/android/com/google/firebase/auth/PhoneAuthProvider.html)。但是我找不到禁用即时验证的记录方法。
我之所以这么问,是因为存在潜在的安全问题:从设备中取出 SIM 卡后,该用户仍然会自动登录!换句话说,使用他人旧设备的用户可以使用他们的旧电话号码登录。以下是重现步骤:
- 使用 Android、具有功能性 SIM 卡的设备
- 使用与该 SIM 卡关联的号码登录
- 这会触发自动登录
- Sign out
- 关闭设备并取出 SIM 卡
- 重新打开设备并尝试使用相同的号码登录
观察到的行为:
尽管没有合适的 SIM 卡,用户仍会自动登录
预期行为:
如果用户的设备没有与输入的电话号码关联的 SIM 卡,则用户不会自动登录,并且会向该号码发送一条 SMS 文本消息。
更新,11.5.09 应该已经覆盖了几乎所有用户的设备。更换 SIM 卡后,即时验证将停止。您也可以使用此技巧进行手动测试。
在即将于第三季度末发布的 Google Play 服务 v11.5 中,将自动检测 SIM 卡更改,这将阻止即时验证工作。新版本将自动推送到用户设备,无需更改 SDK。
为了获得最佳的用户体验和选择加入率,最好等待 Play 服务更新,而不是自己添加可怕的运行时权限(读取和比较电话号码)。谢谢你的耐心!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)