Firebase手机号认证时如何禁用reCAPTCHA?已配置相关API仍无效
确认Play Integrity API集成完整性
仅启用API不足以替代reCAPTCHA,需在代码中完成逻辑替换:将原有设备验证逻辑替换为Play Integrity API调用,并在Firebase Auth配置中明确指定使用Play Integrity作为设备验证方式,避免触发reCAPTCHA fallback。检查Firebase控制台Auth设置
进入Firebase控制台→认证→登录方法,找到对应登录方式(如手机号登录),确认已勾选“使用Play Integrity API进行设备验证”,同时取消勾选“启用reCAPTCHA验证”的 fallback选项。核对SHA指纹配置
确保Firebase控制台中添加了调试版和发布版的完整SHA1、SHA256指纹,且与应用签名配置完全一致。可通过keytool -list -v -keystore your_keystore.jks命令重新校验指纹,避免复制时出现字符遗漏或错误。补充Google Play签名密钥指纹
若应用通过Google Play App Signing发布,需将Google Play提供的上传密钥和应用签名密钥的SHA指纹全部添加到Firebase控制台,不少案例因遗漏应用签名密钥指纹导致验证失败,触发reCAPTCHA。清除缓存并重装应用
旧验证缓存可能导致reCAPTCHA持续触发,完全卸载应用、清除设备Firebase相关缓存后,重新安装最新版本应用测试。升级Firebase SDK版本
老旧版本的Firebase Auth SDK可能不支持Play Integrity完整集成,建议升级至最新稳定版SDK,确保能正确识别Play Integrity配置。
内容的提问来源于stack exchange,提问作者Temo Grey

