@capacitor-firebase/app-check

中文文档
8.6.0发布于 2026/10/31Apache-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 11.5万

用于Firebase App检查Android,iOS,和Web的电容插件.

中文使用文档
文档目录36 节
  1. 使用大小写
  2. 兼容性
  3. 指南
  4. 安装
  5. 机器人
  6. iOS系统
  7. 网页
  8. 配置
  9. 火基地 JavaScript SDK
  10. 演示
  11. 使用量
  12. 初始化 App 检查
  13. 获取当前 App 检查令牌
  14. 启用自动令牌刷新
  15. 听值更改
  16. 删除所有听众
  17. API 密码
  18. 获取托肯(...)
  19. 初始化(...)
  20. 设置 Token 自动重新启用(...)
  21. 添加倾听器( “ token Changed' ,...)
  22. 删除所有收听器( )
  23. 接口
  24. 类型异名
  25. 测试
  26. 机器人
  27. 财务问题
  28. 此插件使用哪些验证提供者 ?
  29. 我怎么能测试App检查器和其他未经验证的装置?
  30. 我怎么用AppCheck保护自己的后端?
  31. 为什么我的 App Check 令牌没有自动刷新?
  32. 我能用这个插件吗? 有Ionic、React、Vue或Angular?
  33. 相关插件
  34. 通讯
  35. 更改日志
  36. 许可证

控制器 Firebase 应用程序检查插件

非官方电容插件 Firebase 应用程序检查[^1]

使用大小写

Firebase App Check 插件通常用于验证对后端的请求来自您真实的应用程序,例如:

  • 保护消防基地资源: 确保只有您的真应用程序才能通过Play Guide, App Attest, 或 reCAPTCHA v3 的证明请求, 获取像 Cloud Firestore 或 Cloud 函数等服务.
  • 保护自定义后端: 获取 App 检查符 getToken(...) 并随请求一起发送到您的后端用于服务器侧验证.
  • 自动刷新令牌: 保留应用程序 检查最新的符号 setTokenAutoRefreshEnabled(...) 并通过 tokenChanged 听着.
  • 地方发展: 使用调试提供者在模拟器等未经验证的设备上测试您的应用程序.

兼容性

插件版本电容版本状态
8.x.x (英语)>=8.x.x积极支持
7.x.x (中文(简体) )7.x.x (中文(简体) )折旧
6.x.x (中文(简体) )6.x.x (中文(简体) )折旧
5.x.x (中文(简体) )5.x.x (中文(简体) )折旧

指南

安装

你可以用我们的 AI 辅助设置 以安装插件. 添加数据 超级技能 至您的 AI 工具,使用以下命令:

npx skills add capawesome-team/skills --skill capacitor-plugins

然后使用下列提示:

Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capacitor-firebase/app-check` plugin in my project.

如果你喜欢 手动设置,通过运行以下命令来安装插件,并遵循下面的平台特定指令:

npm install @capacitor-firebase/app-check firebase
npx cap sync

如果您还没有将 Firebase 添加到您的项目中(机器人 编号 : iOS系统 编号 : 网页) (中文(简体) ).

机器人

见 设置您的防火基地项目 并遵守指示 正确设置您的应用程序.

变量

如果需要, 您可以在您的应用程序中定义以下工程变量 variables.gradle 要更改依赖的默认版本的文件 :

  • $firebaseAppCheckPlayIntegrityVersion 版本 com.google.firebase:firebase-appcheck-playintegrity (默认 : 19.0.1(中文(简体) )
  • $firebaseAppCheckDebugVersion 版本 com.google.firebase:firebase-appcheck-debug (默认 : 19.0.1(中文(简体) )

如果您在工程中遇到其它插件的依赖性冲突, 这会有所帮助 .

iOS系统

打开 iOS 14及以后,参见 设置您的防火基地项目 并遵守指示 正确设置您的应用程序.

打开 iOS 13,参见 设置您的防火基地项目 并遵守指示 正确设置您的应用程序.

确保上传到Firebase的私钥(*.p8) DeviceCheck 选择为服务.

Swift 软件包管理器

在您的 capacitor.config.json (或 capacitor.config.ts) 避免 SwiftPM 软件包识别相撞数字 :

{
  "experimental": {
    "ios": {
      "spm": {
        "packageOptions": {
          "@capacitor-firebase/app-check": {
            "symlink": true
          }
        }
      }
    }
  }
}

请注意目标 packageOptions 支持需要控制器 CLI 8.4.0+ (中文(简体) )。 。 。 .

网页

见 设置您的防火基地项目 并遵守指示 正确设置您的应用程序.

配置

此插件不需要配置 .

火基地 JavaScript SDK

给 您可以找到如何使用 Firebase JS SDK 插件的信息.

演示

这里有一个实例: robingenz/电容器-火力基地-插座-demo

使用量

以下实例显示如何初始化 App Check, 获取当前符号, 启用自动符号刷新, 并聆听符号更改 .

初始化 App 检查

激活应用程序检查您的应用程序 。 每个应用程序只能调用一次。 在网络上,通过一个提供者,例如 ReCaptchaV3Provider在Android和iOS上,使用本地证明提供者:

import { FirebaseAppCheck } from '@capacitor-firebase/app-check';
import { ReCaptchaV3Provider } from '@capacitor-firebase/app-check';
import { Capacitor } from '@capacitor/core';

const initialize = async () => {
  await FirebaseAppCheck.initialize({
    provider: Capacitor.getPlatform() === 'web' ? new ReCaptchaV3Provider('myKey') : undefined,
  });
};

获取当前 App 检查令牌

获取当前 AppCheck 令牌, 例如将其发送到您的后端 。 设定 forceRefresh 改为 true 如果您总是想要取出一个新的符号而不是缓存的符号:

import { FirebaseAppCheck } from '@capacitor-firebase/app-check';

const getToken = async () => {
  const { token } = await FirebaseAppCheck.getToken({
    forceRefresh: false,
  });
  return token;
};

启用自动令牌刷新

设定是否根据需要自动刷新 App Check 令牌 :

import { FirebaseAppCheck } from '@capacitor-firebase/app-check';

const setTokenAutoRefreshEnabled = async () => {
  await FirebaseAppCheck.setTokenAutoRefreshEnabled({ enabled: true });
};

听值更改

当 App 检查令牌更改时得到通知 :

import { FirebaseAppCheck } from '@capacitor-firebase/app-check';

const addTokenChangedListener = async () => {
  await FirebaseAppCheck.addListener('tokenChanged', event => {
    console.log('tokenChanged', { event });
  });
};

删除所有听众

删除此插件的所有听众 。 仅在网上提供 :

import { FirebaseAppCheck } from '@capacitor-firebase/app-check';

const removeAllListeners = async () => {
  await FirebaseAppCheck.removeAllListeners();
};

API 密码

获取托肯(...)

getToken(options?: GetTokenOptions | undefined) => Promise<GetTokenResult>

获取当前 App Check 令牌 .

参数类型
optionsGetTokenOptions

回返情况: Promise<GetTokenResult>

自: 1.3.0 (单位:千美元)


初始化(...)

initialize(options?: InitializeOptions | undefined) => Promise<void>

激活给定应用程序的 App 检查 . 每个应用程序只能呼叫一次.

参数类型
optionsInitializeOptions

自: 1.3.0 (单位:千美元)


设置 Token 自动重新启用(...)

setTokenAutoRefreshEnabled(options: SetTokenAutoRefreshEnabledOptions) => Promise<void>

设定是否自动刷新 App Check 令牌 .

参数类型
optionsSetTokenAutoRefreshEnabledOptions

自: 1.3.0 (单位:千美元)


添加倾听器( “ token Changed' ,...)

addListener(eventName: 'tokenChanged', listenerFunc: TokenChangedListener) => Promise<PluginListenerHandle>

当 App Check 令牌更改时调用 .

参数类型
eventName'tokenChanged'
listenerFuncTokenChangedListener

回返情况: Promise<PluginListenerHandle>

自: 1.3.0 (单位:千美元)


删除所有收听器( )

removeAllListeners() => Promise<void>

删除此插件的所有听众 .

仅供Web使用.

自: 1.3.0 (单位:千美元)


接口

获取托肯结果

Prop类型说明自兹
tokenstring以 JWT 为格式的 App Check 令牌 .1.3.0 (单位:千美元)
expireTimeMillisnumber自纪元后,该标志将在毫秒后过期。 仅供Android和iOS使用.1.3.0 (单位:千美元)

获取托肯选项

Prop类型说明默认自兹
forceRefreshboolean若为 true,将总是试图取出新的标志。 若为 false,如果在存储中找到,将使用缓存的令牌.false1.3.0 (单位:千美元)

初始化选项

Prop类型说明默认自兹
debugboolean若为 true,则使用调试提供者。 ⚠️ 请注意:调试提供者允许从未经验证的设备访问您的 Firebase 资源 。 在您的应用软件的生产建设中不要使用调试提供者,也不要与不信任的方分享你的调试建筑. ⚠️ 折旧: 使用 debugToken 换句话说 此选项将在下一个主要版本被删除 。 更多信息: https://firebase.google.com/docs/app-check/web/debug-professor 页面存档备份,存于互联网档案馆false1.3.0 (单位:千美元)
debugTokenstring | boolean若为 true,则使用调试提供者。 打开 网页,您也可以设置一个预定义的调试符字符串,而不是 true。在Android和iOS上,您必须为此使用环境变量。 ⚠️ 请注意:调试提供者允许从未经验证的设备访问您的 Firebase 资源 。 在您的应用软件的生产建设中不要使用调试提供者,也不要与不信任的方分享你的调试建筑.false7.1.0 (中文(简体) )
isTokenAutoRefreshEnabledboolean若为 true, SDK 自动刷新 App Check 令牌 .false1.3.0 (单位:千美元)
providerany用于 App Check 的提供者 。 一定是这样 ReCaptchaV3Provider, (中文(简体) ), ReCaptchaEnterpriseProvider,或 CustomProvider。仅可用于Web.ReCaptchaV3Provider7.1.0 (中文(简体) )
siteKeystringReCAPTCHA v3站点密钥(公钥). 此选项在 provider 已经设定。 仅供Web使用.1.3.0 (单位:千美元)

设置托肯自动重新启用选项

Prop类型说明自兹
enabledboolean若为 true, SDK 自动刷新 App Check 令牌 。 此选项覆盖初始化时设置的任何值 AppCheck () .1.3.0 (单位:千美元)

插件听筒

Prop类型
remove() => Promise<void>

Token 变换事件

Prop类型说明自兹
tokenstring以 JWT 为格式的 App Check 令牌 .1.3.0 (单位:千美元)

类型异名

已更改 听众

召回以接收符号更改事件 .

(event: TokenChangedEvent): void

测试

机器人

遵循这些步骤来测试您在真实设备上的执行情况 :

  1. 启动Android设备的应用程序.
  2. 运行以下命令从机器人日志中获取您的临时秘密 :
adb logcat | grep DebugAppCheckProvider

输出应该是这样的:

D DebugAppCheckProvider: Enter this debug secret into the allow list in
the Firebase Console for your project: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
  1. 接下来,打开 App 检查工程 在 Firebase 控制台中从您的应用程序的外溢菜单中选择管理调试符 。 然后,从输出中注册调试密钥 .

财务问题

此插件使用哪些验证提供者 ?

在Android上,插件使用 播放完整性 供养. 在iOS上,它使用 应用测试 关于iOS 14, 稍后 设备检查 iOS 13号机 在网络上,它使用 reCAPTCHA v3 (英语) 默认,但您也可以通过 ReCaptchaEnterpriseProvider 或者说 CustomProvider 实例 provider 选项.

我怎么能测试App检查器和其他未经验证的装置?

通过设置调试提供者 debugToken 选项 initialize(...) 方法。 在Android上,你可以从设备日志中抓取临时调试密钥并将其注册到Firebase Console(参见 测试) (中文(简体) ). 在您的应用程序生产构建中不要使用调试提供者, 也不要与未信任的方共享您的调试构建, 因为它允许从未验证的设备获取您的 Firebase 资源 .

我怎么用AppCheck保护自己的后端?

打电话 getToken(...) 以 JWT 格式检索当前 App Check 令牌并连同请求一起发送到您的后端的方法, 您可以在此验证其服务器侧。 使用 tokenChanged 听者可以在符号更改时得到通知.

为什么我的 App Check 令牌没有自动刷新?

自动令牌刷新默认已禁用 。 你可以启动它与 isTokenAutoRefreshEnabled 选项 initialize(...) 方法或任何时候 setTokenAutoRefreshEnabled(...) 方法.

我能用这个插件吗? 有Ionic、React、Vue或Angular?

是的,插件是框架不可知的。 它在任意网络框架的Capacitor app中工作,包括有Angular,React,或Vue的Ionic,以及平版JavaScript等项目.

通讯

随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 《卡帕索克通讯》。 。 。 .

更改日志

见 变动情况。 。 。 .

许可证

见 自由主义。 。 。 .

[^1]: 这个项目不附属于Google LLC或其任何子公司或子公司,也不获得其认可、支持、赞助或批准.

版本与发布记录

@capacitor-firebase/app-check 共发布 38 个版本,首次发布于 2022/11/06;过去 12 个月发布了 13 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.6.0latest2026/10/319 天前
8.5.22026/09/171 个月前
8.5.12026/09/022 个月前
8.5.02026/08/312 个月前
8.4.02026/08/122 个月前
8.3.02026/06/045 个月前

其他发布通道:dev → 7.0.0-dev.1765887457。

关于 @capacitor-firebase/app-check 的常见问题

@capacitor-firebase/app-check 是什么?

用于Firebase App检查Android,iOS,和Web的电容插件.

如何安装 @capacitor-firebase/app-check?

在项目目录运行 npm install @capacitor-firebase/app-check,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(>=8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@capacitor-firebase/app-check 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@capacitor-firebase/app-check 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@capacitor-firebase/app-check 可以商用吗?

@capacitor-firebase/app-check 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@capacitor-firebase/app-check 的下载量有多少?

根据 npm 官方下载统计,@capacitor-firebase/app-check 在 2026/10/09 – 2026/11/07 这 30 天内被下载 115,106 次,日均约 3,837 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@capacitor-firebase/app-check 还在维护吗?

最新版本 8.6.0 发布于 2026/10/31(9 天前);至今共发布 38 个版本,其中过去 12 个月发布了 13 个;首次发布于 2022/11/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。