Firebase App Check

App Check 可以防止未经授权的客户端访问您的后端资源,从而有助于保护应用后端免遭滥用。它可与 Google 服务(包括 Firebase 和 Google Cloud 服务)和您自己的后端搭配使用,以确保资源安全。

使用 App Check 时,运行您的应用的设备将使用应用或设备证明提供程序,证明以下两项或其中一项:

  • 请求来自您的正版应用
  • 请求来自真实的、未经��改的设备

此证明会附加到您的应用向您指定的 API 发出的每个请求。启用 App Check 强制执行后,来自没有有效证明的客户端的请求将被拒绝,来自未经您授权的应用或平台的请求也将被拒绝。

App Check 支持使用以下服务作为证明提供程序(此支持是内置的):

如果这些服务不能完全满足您的需求,您还可以实现自己的服务,从而使用第三方证明提供程序或您自己的证明方法。

App Check 可与以下 Google 服务搭配使用:

支持的 Google 服务
Realtime Database
Cloud Firestore
Cloud Storage
Cloud Functions(可调用函数)
Authentication(Beta 版;需要升级到 Firebase Authentication with Identity Platform
iOS 版 Google Identity(Beta 版)
Vertex AI for Firebase(预览版)

您还可以使用 App Check 来保护非 Google 后端资源。

准备好开始了吗?

开始

工作原理

为服务启用 App Check 并在应用中添加客户端 SDK 后,将定期发生以下情况:

  1. 您的应用与您选择的提供程序交互,以获取应用和/或设备的真实性证明(具体取决于提供程序)。
  2. 证明会发送到 App Check 服务器,该服务器使用已向应用注册的参数来验证证明的有效性,并向应用返回带有过期时间的 App Check 令牌。此令牌可能会保留与其验证的证明材料相关的一些信息。
  3. App Check 客户端 SDK 会将令牌缓存到您的应用中,准备随您的应用发出的任何请求一起发送到受保护的服务。

App Check 保护的服务只接受带有当前有效的 App Check 令牌的请求。

App Check 的安全性如何?

App Check 依靠证明提供程序来确定应用或设备的真实性。它可拦截一些(但不是���有)定向到您的后端的滥用矢量。使用 App Check 并不能保证消除所有滥用行为,但通过与 App Check 集成,您可以在保���后端资源免遭滥用方面迈出重要的一步。

App Check 和 Firebase Authentication 是相辅相成的单独产品,可共同帮助您提高应用安全性。Firebase Authentication 提供用户身份验证机制(用于保护您的用户),而 App Check 则提供应用或设备真实性证明(用于保护您,即开发者)。App Check 要求 API 调用包含一个有效的 App Check 令牌,以监控对 Google 后端资源和自定义后端的访问。这两种方式协同发挥作用,帮助保护您的应用。

配额和限制

使用 App Check 时,您会受到所用证明提供程序的配额和限制的约束。

  • 对 DeviceCheck 和 App Attest 的访问受 Apple 所设配额或限制的约束。

  • Play Integrity 的标准 API 用量层级的每日配额为 10,000 次调用。如需了解如何提高用量层级,请参阅 Play Integrity 文档

  • SafetyNet 的每日配额为 10,000 次调用。如需了解如何申请增加配额,请参阅 SafetyNet 文档

  • reCAPTCHA Enterprise 每月可免费进行 10,000 次评估,超过此限制则需要付费。请参阅 reCAPTCHA 定价

开始

准备好开始了吗?

Apple 平台

DeviceCheck App Attest

Android

Play Integrity

Web

reCAPTCHA Enterprise

Flutter

默认提供程序

C++

默认提供程序

Unity

默认提供程序

了解如何实现自定义 App Check 提供程序:

自定义提供程序

了解如何使用 App Check 来保护您的非 Google 后端资源:

iOS+ Android Web Flutter