创建基于得分的 reCAPTCHA 密钥

Firebase 控制台中注册应用以使用 reCAPTCHA Enterprise 提供方时,您需要为应用提供 reCAPTCHA 密钥。App Check 使用 基于得分reCAPTCHA 密钥,因此用户看不到该密钥。这意味着,reCAPTCHA Enterprise 提供方永远不会要求用户进行验证。

本页介绍了如何创建这些基于得分的密钥,以便在以下平台中使用:WebAndroidApple。您还可以在reCAPTCHA EnterpriseWeb 应用移动应用的文档中找到更详细的说明。

对于 Flutter,您可以按照项目所面向平台的说明操作。

准备工作

在为以下平台上的应用创建基于得分的 reCAPTCHA 密钥之前,请查看这些要求和建议:WebAndroidApple

必需的 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 控制台

  1. Google Cloud 控制台中,前往Fraud Defense页面(您可以在该页面中设置 reCAPTCHA 密钥)。

  2. 确保您位于正确的项目中(请参阅屏幕顶部的项目选择器)。

  3. 点击创建密钥

  4. 显示名字段中,输入密钥的显示名。

  5. 对于应用类型,选择 Web

  6. 为了保护您的网域和子网域的密钥,请确保关闭停用域名验证切换开关。

  7. 网域列表部分中,执行以下操作:

    1. 点击添加网域

    2. 网域字段中,输入您的域名。

    3. (可选)如需添加其他网域,请点击添加网域,然后输入其他网域名称。

      • App Check支持在超过 250 个网域上运行的 Web 应用。

      • 切勿将 localhost 作为网域添加到用于(或将要用于)生产的 reCAPTCHA 密钥。

  8. (可选)如果您要为非正式版应用创建测试密钥,并且想要指定在为该密钥创建任何评估时,该密钥要返回的分数,请执行以下操作:

    1. 点击下一步(可选),进入其他设置步骤。

    2. 请勿开启您是否会使用验证?对应的切换开关。

    3. 开启您创建此密钥是否仅用于测试目的?对应的开关,然后使用设置得分滑块指定介于 0 到 1.0 之间的得分。

  9. 点击创建密钥

新创建的密钥会列在 Google Cloud 控制台的 reCAPTCHA 密钥页面上。

gcloud CLI

如需使用 gcloud CLI 创建基于得分的密钥,请按照 reCAPTCHA Enterprise 文档中的说明操作。

REST

如需使用 REST API 创建基于评分的密钥,请按照 reCAPTCHA Enterprise 文档中的说明操作。

Android

如需创建基于评分的密钥,您可以使用 Google Cloud 控制台、gcloud CLI 或 REST API。

Google Cloud 控制台

  1. Google Cloud 控制台中,前往Fraud Defense页面(您可以在该页面中设置 reCAPTCHA 密钥)。

  2. 确保您位于正确的项目中(请参阅屏幕顶部的项目选择器)。

  3. 点击创建密钥

  4. 显示名字段中,输入密钥的显示名。

  5. 对于应用类型,选择 Android

  6. 为保护 Android 应用的密钥,请确保关闭停用软件包名称验证切换开关。

  7. Android 软件包列表部分中,执行以下操作:

    1. 点击添加 Android 软件包

    2. Android 软件包字段中,输入 Android 应用的软件包名称(例如 com.example.my_app)。

      • 请务必输入您在 Firebase 项目中创建 Firebase Android 应用时提供的软件包名称。软件包名称值区分大小写。

      • 对于 App Check,每个软件包名称只能对应一个 reCAPTCHA 密钥。

  8. 如果您想为除 Google Play Store 之外的其他应用商店中提供的应用创建密钥,请开启支持在 Google Play 商店之外分发的应用对应的切换开关。

  9. (可选)如果您要为非正式版应用创建测试密钥,并且想要指定在为该密钥创建任何评估时,该密钥要返回的分数,请执行以下操作:

    1. 点击下一步(可选),进入其他设置步骤。

    2. 请勿开启您是否会使用验证?对应的切换开关。

    3. 开启您创建此密钥是否仅用于测试目的?对应的开关,然后使用设置得分滑块指定介于 0 到 1.0 之间的得分。

  10. 点击创建密钥

新创建的密钥会列在 Google Cloud 控制台的 reCAPTCHA 密钥页面上。

gcloud CLI

如需使用 gcloud CLI 创建基于得分的密钥,请按照 reCAPTCHA Enterprise 文档中的说明操作。

REST

如需使用 REST API 创建基于评分的密钥,请按照 reCAPTCHA Enterprise 文档中的说明操作。

Apple 平台

如需创建基于评分的密钥,您可以使用 Google Cloud 控制台、gcloud CLI 或 REST API。

Google Cloud 控制台

  1. Google Cloud 控制台中,前往Fraud Defense页面(您可以在该页面中设置 reCAPTCHA 密钥)。

  2. 确保您位于正确的项目中(请参阅屏幕顶部的项目选择器)。

  3. 点击创建密钥

  4. 显示名字段中,输入密钥的显示名。

  5. 对于应用类型,选择 iOS

  6. 为了保护 Apple 平台应用的密钥,请确保关闭停用软件包 ID 验证切换开关。

  7. iOS 软件包 ID 列表部分中,执行以下操作:

    1. 点击添加 iOS 软件包 ID

    2. 软件包 ID 字段中,输入应用的软件包 ID(例如 com.example.my_app)。

      • 请务必输入您在 Firebase 项目中创建 Firebase Apple 应用时提供的软件包 ID。软件包 ID 值区分大小写。

      • 对于 App Check,每个软件包 ID 只能对应一个 reCAPTCHA 密钥。

    3. (可选)如需添加其他软件包 ID,请点击添加 iOS 软件包 ID,然后输入其他软件包 ID。

  8. 提供 Apple Developer 设置

    我们强烈建议您提供此数据,因为这样一来,reCAPTCHA Enterprise 就可以为您的流量提供更准确的风险评分。

    请输入以下信息:

    • 私钥 (.p8):此密钥是在 Apple 开发者中心的“证书、标识符和描述文件”下生成的。

    • 密钥标识符:Apple 开发者密钥标识符(10 字符的字符串)。

    • 团队 ID:拥有用于构建应用的配置文件的 Apple 团队 ID(10 字符字符串)。

  9. (可选)如果您要为非正式版应用创建测试密钥,并且想要指定在为该密钥创建任何评估时,该密钥要返回的分数,请执行以下操作:

    1. 点击下一步(可选),进入其他设置步骤。

    2. 请勿开启您是否会使用验证?对应的切换开关。

    3. 开启您创建此密钥是否仅用于测试目的?对应的开关,然后使用设置得分滑块指定介于 0 到 1.0 之间的得分。

  10. 点击创建密钥

新创建的密钥会列在 Google Cloud 控制台的 reCAPTCHA 密钥页面上。

gcloud CLI

如需使用 gcloud CLI 创建基于得分的密钥,请按照 reCAPTCHA Enterprise 文档中的说明操作。

REST

如需使用 REST API 创建基于评分的密钥,请按照 reCAPTCHA Enterprise 文档中的说明操作。