2024年Android端如何禁用Firebase Phone Auth(OTP)中的reCaptcha?
解决Firebase Auth手机号验证重定向浏览器的问题
关键配置检查
- 确认本地运行应用使用的调试签名证书指纹(SHA1/SHA256)和Firebase控制台添加的完全一致。Android Studio默认调试证书路径为
~/.android/debug.keystore,别误加了发布证书的指纹。 - 在Firebase控制台的Authentication > 登录方法 > 电话号码页面,确保「使用Play Integrity API保护」已开启,同时勾选「允许未经验证的请求(仅用于测试)」——这是本地调试绕开reCaptcha的必要开关,上架前需关闭。
调试令牌配置(核心解决步骤)
从Firebase BOM 28.0.0版本开始,本地调试可通过调试令牌跳过reCaptcha:
- 运行应用触发手机号验证,在Logcat中查找类似
D/FirebaseAuth: Get debug token: [你的调试令牌]的日志,复制该令牌。 - 返回Firebase控制台的Authentication > 登录方法 > 电话号码,找到「调试令牌」区域,粘贴并保存刚才复制的令牌。
- 重启应用,本地手机号验证将不再跳转浏览器。
额外注意事项
- 调试令牌与本地设备、调试证书绑定,更换设备或证书需重新获取新令牌。
- 上架Play Store前,务必移除所有调试令牌,仅依赖Play Integrity API完成验证。
- 你的当前依赖配置无问题,确保没有引入旧版Firebase Auth依赖导致版本冲突:
implementation(platform("com.google.firebase:firebase-bom:32.7.1")) implementation("com.google.firebase:firebase-auth")
内容的提问来源于stack exchange,提问作者Tushar Bhatia
相关产品推荐
相关产品推荐

