在 Firebase 控制台中注册应用以使用 reCAPTCHA Enterprise 提供方时,您需要为应用提供 reCAPTCHA 密钥。App Check 使用 基于得分 的 reCAPTCHA 密钥,因此用户看不到该密钥。这意味着,reCAPTCHA Enterprise 提供方永远不会要求用户进行验证。
本页介绍了如何创建这些基于得分的密钥,以便在以下平台中使用:Web、Android 和 Apple。您还可以在reCAPTCHA EnterpriseWeb 应用和移动应用的文档中找到更详细的说明。
对于 Flutter,您可以按照项目所面向平台的说明操作。
准备工作
在为以下平台上的应用创建基于得分的 reCAPTCHA 密钥之前,请查看这些要求和建议:Web、Android 和 Apple。
必需的 IAM 权限
确保您拥有以下 IAM 角色:reCAPTCHA Enterprise Admin (roles/recaptchaenterprise.admin)。
一般建议
您可以为一个 Firebase 项目创建的 reCAPTCHA 密钥数量没有限制。以下是针对 Firebase 项目的常见设置创建 reCAPTCHA 密钥的一般建议:
为每个已注册的 Firebase 应用创建一个密钥。例如:
如果您有共享同一 Firebase 项目的 iOS、Android 和 Web 应用,则您的项目应有三个密钥。
如果您有多个相同平台的应用共享同一 Firebase 项目,则您的项目应为每个应用都提供一个密钥。
为开发、预演和生产应用创建单独的密钥(每个变种都应已使用单独的 Firebase 项目)。 否则,您可能要冒着非生产环境中的数据污染 reCAPTCHA Enterprise 风险分析的风险。
Web
如需创建基于评分的密钥,您可以使用 Google Cloud 控制台、gcloud CLI 或 REST API。
对于网站,reCAPTCHA 密钥对您指定的网域和子网域具有唯一性。如果您从多个网域传送您的网站,则可以指定多个网域。如果您指定了网域(例如 examplepetstore.com),则无需指定其子网域(例如 subdomain.examplepetstore.com)。
Google Cloud 控制台
在 Google Cloud 控制台中,前往Fraud Defense页面(您可以在该页面中设置 reCAPTCHA 密钥)。
确保您位于正确的项目中(请参阅屏幕顶部的项目选择器)。
点击创建密钥。
在显示名字段中,输入密钥的显示名。
对于应用类型,选择 Web。
为了保护您的网域和子网域的密钥,请确保关闭停用域名验证切换开关。
在网域列表部分中,执行以下操作:
点击添加网域。
在网域字段中,输入您的域名。
(可选)如需添加其他网域,请点击添加网域,然后输入其他网域名称。
App Check不支持在超过 250 个网域上运行的 Web 应用。
切勿将
localhost作为网域添加到用于(或将要用于)生产的 reCAPTCHA 密钥。
(可选)如果您要为非正式版应用创建测试密钥,并且想要指定在为该密钥创建任何评估时,该密钥要返回的分数,请执行以下操作:
点击下一步(可选),进入其他设置步骤。
请勿开启您是否会使用验证?对应的切换开关。
开启您创建此密钥是否仅用于测试目的?对应的开关,然后使用设置得分滑块指定介于 0 到 1.0 之间的得分。
点击创建密钥。
新创建的密钥会列在 Google Cloud 控制台的 reCAPTCHA 密钥页面上。
gcloud CLI
如需使用 gcloud CLI 创建基于得分的密钥,请按照 reCAPTCHA Enterprise 文档中的说明操作。
REST
如需使用 REST API 创建基于评分的密钥,请按照 reCAPTCHA Enterprise 文档中的说明操作。
Android
如需创建基于评分的密钥,您可以使用 Google Cloud 控制台、gcloud CLI 或 REST API。
Google Cloud 控制台
在 Google Cloud 控制台中,前往Fraud Defense页面(您可以在该页面中设置 reCAPTCHA 密钥)。
确保您位于正确的项目中(请参阅屏幕顶部的项目选择器)。
点击创建密钥。
在显示名字段中,输入密钥的显示名。
对于应用类型,选择 Android。
为保护 Android 应用的密钥,请确保关闭停用软件包名称验证切换开关。
在 Android 软件包列表部分中,执行以下操作:
点击添加 Android 软件包。
在 Android 软件包字段中,输入 Android 应用的软件包名称(例如
com.example.my_app)。请务必输入您在 Firebase 项目中创建 Firebase Android 应用时提供的软件包名称。软件包名称值区分大小写。
对于 App Check,每个软件包名称只能对应一个 reCAPTCHA 密钥。
如果您想为除 Google Play Store 之外的其他应用商店中提供的应用创建密钥,请开启支持在 Google Play 商店之外分发的应用对应的切换开关。
(可选)如果您要为非正式版应用创建测试密钥,并且想要指定在为该密钥创建任何评估时,该密钥要返回的分数,请执行以下操作:
点击下一步(可选),进入其他设置步骤。
请勿开启您是否会使用验证?对应的切换开关。
开启您创建此密钥是否仅用于测试目的?对应的开关,然后使用设置得分滑块指定介于 0 到 1.0 之间的得分。
点击创建密钥。
新创建的密钥会列在 Google Cloud 控制台的 reCAPTCHA 密钥页面上。
gcloud CLI
如需使用 gcloud CLI 创建基于得分的密钥,请按照 reCAPTCHA Enterprise 文档中的说明操作。
REST
如需使用 REST API 创建基于评分的密钥,请按照 reCAPTCHA Enterprise 文档中的说明操作。
Apple 平台
如需创建基于评分的密钥,您可以使用 Google Cloud 控制台、gcloud CLI 或 REST API。
Google Cloud 控制台
在 Google Cloud 控制台中,前往Fraud Defense页面(您可以在该页面中设置 reCAPTCHA 密钥)。
确保您位于正确的项目中(请参阅屏幕顶部的项目选择器)。
点击创建密钥。
在显示名字段中,输入密钥的显示名。
对于应用类型,选择 iOS。
为了保护 Apple 平台应用的密钥,请确保关闭停用软件包 ID 验证切换开关。
在 iOS 软件包 ID 列表部分中,执行以下操作:
点击添加 iOS 软件包 ID。
在软件包 ID 字段中,输入应用的软件包 ID(例如
com.example.my_app)。请务必输入您在 Firebase 项目中创建 Firebase Apple 应用时提供的软件包 ID。软件包 ID 值区分大小写。
对于 App Check,每个软件包 ID 只能对应一个 reCAPTCHA 密钥。
(可选)如需添加其他软件包 ID,请点击添加 iOS 软件包 ID,然后输入其他软件包 ID。
提供 Apple Developer 设置。
我们强烈建议您提供此数据,因为这样一来,reCAPTCHA Enterprise 就可以为您的流量提供更准确的风险评分。
请输入以下信息:
私钥 (.p8):此密钥是在 Apple 开发者中心的“证书、标识符和描述文件”下生成的。
密钥标识符:Apple 开发者密钥标识符(10 字符的字符串)。
团队 ID:拥有用于构建应用的配置文件的 Apple 团队 ID(10 字符字符串)。
(可选)如果您要为非正式版应用创建测试密钥,并且想要指定在为该密钥创建任何评估时,该密钥要返回的分数,请执行以下操作:
点击下一步(可选),进入其他设置步骤。
请勿开启您是否会使用验证?对应的切换开关。
开启您创建此密钥是否仅用于测试目的?对应的开关,然后使用设置得分滑块指定介于 0 到 1.0 之间的得分。
点击创建密钥。
新创建的密钥会列在 Google Cloud 控制台的 reCAPTCHA 密钥页面上。
gcloud CLI
如需使用 gcloud CLI 创建基于得分的密钥,请按照 reCAPTCHA Enterprise 文档中的说明操作。
REST
如需使用 REST API 创建基于评分的密钥,请按照 reCAPTCHA Enterprise 文档中的说明操作。