我最近更新了firebase库,没有改变任何东西。
implementation 'com.google.firebase:firebase-auth:20.0.1'
implementation 'com.google.firebase:firebase-messaging:21.0.0'
implementation 'com.google.firebase:firebase-storage:19.2.0'
implementation 'com.google.android.gms:play-services-auth:19.0.0'
但是每当用户尝试注册时,Recaptcha会显示几秒钟,然后在从firebase auth接收到OTP后,有时会重定向到Web浏览器(CustomChromeTab)。这需要大约15-30秒。如何防止Recaptcha?不过,我在firebase控制台中添加了SHA1和SHA 256,并且没有更改代码。谢谢。
下面是验证码验证过程的截图:
5条答案
按热度按时间3ks5zfa01#
大多数情况下,在实现依赖项时,例如:
浏览器中弹出上述窗口。
这里有一个成功解决的方法。
步骤1-
在Google Cloud Console中,为您的项目启用Android DeviceCheck API。将使用默认的Firebase API密钥,并且需要允许访问DeviceCheck API。
第二步-
如果您尚未指定应用的SHA-256指纹,请从Firebase控制台的设置页面进行指定。有关如何获取应用的SHA-256指纹的详细信息,请参阅验证您的客户端。
希望它能起作用!!!有关更多信息,您还可以检查Google SafetyNet API,以在手机身份验证时检查设备中的Google Play服务安装。
**此外,需要执行其他步骤:**Firebase项目设置〉应用程序检查〉并在SafetyNet中注册Firebase项目,并使用默认时间令牌1小时注册Play Integrity。
3hvapo4f2#
别忘了进入Firebase项目设置〉应用程序检查〉并在SafetyNet中注册Firebase项目,并使用默认时间令牌1小时进行完整性注册,您将从电话认证OTP中删除reCaptcha!
mwyxok5s3#
请尝试另一种方法禁用reCaptcha
因为我一直在关注Mohd Asim答案,它不起作用。
elcex8rz4#
为了删除验证码验证,您必须在Google Cloud Console中执行此操作。
重要(您可能已经这样做了,但为了提醒):
在firebase项目设置页面(See how to set)中添加项目(see how to get)的SHA1和SHA 256。
1.转到Google API控制台中的Library页面。
1.在搜索栏中键入“Android Device Verification”,然后选择Android Device Verification框(API)。Android Device Verification API Jmeter 板屏幕出现。
1.如果API尚未开启,请点击开启,希望您的问题在这里得到解决,如果没有,请继续。
1.如果出现“创建凭据”按钮,请单击该按钮以生成API密钥。否则,请单击“所有API凭据”下拉列表,然后选择与已启用Android设备验证API的项目关联的API密钥。
1.在左侧的边栏中,单击凭据。复制出现的API密钥。
1.调用SafetyNetClient类的attest()方法时使用此API密钥。
欲了解更多信息,请阅读此官方页面-https://developer.android.com/training/safetynet/attestation
dgenwo3n5#
1.转到Google Cloud Console
1.选择项目,它应该是同一个项目,其中firebase正在运行,并确保您已经添加了sha-1和sha-256的调试和发布版本,并把更新的google-services.json文件在您的应用程序。
1.搜索Android设备验证
1.点击启用5.done