首页 > 解决方案 > 如何禁用 Firebase 电话身份验证 reCAPTCHA?(网络/反应)

问题描述

我正在构建一个 React + Firebase 应用程序并使用 Firebase 的 PhoneAuthProvider 进行身份验证。

在开发过程中,有很多登录和注销来测试身份验证流程、私有路由、登录重定向等。

每次我需要登录时,都会显示一个 reCAPTCHA 挑战。这太烦人了。

而且因为我在短时间内从同一个 IP 发出了如此多的登录请求,所以我看到了几个(有时是 10 个!)reCAPTCHA 挑战。可能是因为谷歌认为这是可疑的行为。

如何在开发过程中禁用 reCAPTCHA?

如果这是不可能的,那么可能的解决方法是什么?

继续这样下去根本不现实?

这是我的 firebaseui 配置:

const uiConfig = {
    signInSuccessUrl: '/home',
    signInOptions: [{
        provider: firebase.auth.PhoneAuthProvider.PROVIDER_ID,
        recaptchaParameters: {
            type: 'image',
            size: 'invisible',
            badge: 'bottomleft'
        },
        defaultCountry: 'IN'
    }],
};

标签: javascriptfirebasefirebase-authenticationfirebaseui

解决方案


Firebase 身份验证文档

Firebase 使用 reCAPTCHA 来防止滥用,例如确保电话号码验证请求来自您的应用允许的域之一。

所以你不能只是禁用它,因为这会破坏它的目的。

但在开发过程中,您可以使用列入白名单的电话号码进行大部分测试。这应该可以让您绕过您遇到的大多数问题。


正如@bojeil 评论的那样,您还可以在执行上述操作后将该appVerificationDisabledForTesting属性设置为true,以在测试期间完全禁用recaptcha。


推荐阅读