javascript - 如何禁用 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'
}],
};
解决方案
Firebase 使用 reCAPTCHA 来防止滥用,例如确保电话号码验证请求来自您的应用允许的域之一。
所以你不能只是禁用它,因为这会破坏它的目的。
但在开发过程中,您可以使用列入白名单的电话号码进行大部分测试。这应该可以让您绕过您遇到的大多数问题。
正如@bojeil 评论的那样,您还可以在执行上述操作后将该appVerificationDisabledForTesting
属性设置为true,以在测试期间完全禁用recaptcha。
推荐阅读
- flutter - 如何在忽略系统操作的字体大小的情况下修复文本大小?
- winapi - 从系统进程中的模拟线程记录
- xslt-1.0 - 使用 XML 样式表删除与另一个文件中的内容匹配的元素
- java - 试图在模拟服务上验证来自抽象类的方法调用,但我得到了一个 npe
- c++ - MS-Detours 的 tracebld 实用程序无法与 Cygwin 工具链一起正常工作
- git - Sourcetree 删除合并提交到开发
- python - 如何根据具有公共信息的不同数据框中的另一列的值在数据框中创建新列?
- python - Python 服务器在数据框中弄乱了字符串和浮点数
- ios - 在 swift iOS 中为 3 个点设置动画
- amazon-web-services - 在分离的 VPC 中创建 EFS 挂载的 ECS 集群