问题标签 [firebase-app-check]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
825 浏览

android - 即使未启用应用检查,也没有请求的应用检查令牌

对我来说,似乎只有在 Firebase Storage 中上传文件才会触发此错误。这自动出现了。有人说这是一个新功能,网上并没有太多的信息。我尝试将连接的 firebase 项目更改为我的应用程序,但无济于事。我之前没有启用应用程序检查,也没有为我已将应用程序连接到的新 firebase 项目启用应用程序检查。我检查了我的 firebase 项目,并且我的应用程序也未注册以进行应用检查。

2021-08-09 14:52:20.091 29409-30232/com.capstone.scipy W/NetworkRequest:没有用于请求的应用检查令牌。2021-08-09 14:52:20.095 29409-30232/com.capstone.scipy I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 2021-08-09 14:52:20.095 29409-30232/com.capstone .scipy I/System.out: (HTTPLog)-Static: isSBSettingEnabled false 2021-08-09 14:52:20.160 29409-30232/com.capstone.scipy W/NetworkRequest: 发送网络请求 POST https://firebasestorage 时出错。 googleapis.com/v0/b/scipy-fc3f6.appspot.com/o

0 投票
2 回答
53 浏览

firebase - 何时调用 appCheck.onTokenChanged 回调?

我在我的网络项目中使用 appcheck 并像这样设置它:

我是否正确假设如果调用 onTokenChanged 回调然后浏览器已通过 appcheck 证明?

如果是这样,那么我的意图是在调用回调时启用分析,因为我可以合理地确定它是合法用户而不是机器人。

0 投票
2 回答
339 浏览

android - Firebase Functions AppCheck 不断让我的设备失败

我一直在尝试将 AppCheck 与我的 Android 应用程序集成,但我似乎无法发出有效的请求。

至于测试目的,我一直在使用以下代码:

安卓代码

功能码

我已将DebugAppCheckProviderFactory令牌添加到 Firebase 控制台,但无论我做什么,如果它是模拟器或物理设备,当我调用该函数时,总是会抛出失败的前置条件异常。

检查功能日志,我可以看到该应用程序丢失:

在此处输入图像描述

我已经多次阅读文档,并且似乎没有遗漏任何步骤。我是否遗漏了什么,或者我能做些什么来找到这个的根本原因?

感谢您的时间!

编辑:

至于 Martin 的建议,我创建了一个新的OnRequest函数并添加了X-Firebase-AppCheck标头。我正确收到了令牌,并且能够通过以下方式成功验证它:

firebaseAdmin.appCheck().verifyToken(appCheckToken)

所以,我的猜测是,Android 并没有像它应该的那样将X-Firebase-AppCheck自动添加到OnCall函数中。

我运行代码并通过代码设置了一些断点,并注意到以下内容。Firebase的调用方法是添加Firebase-Instance-ID-Token但我似乎无法在任何地方找到X-Firebase-AppCheck标头。也许我不应该看到这个值,或者我只是找不到它被添加的位置。或者它可能根本没有添加,因此我根本无法验证我的context.app

0 投票
1 回答
1225 浏览

firebase - 如何在 Flutter 应用中实现 App Check

我正在尝试在我的 Android 版 Flutter 应用中实现 App Check,并遵循了 flutterfire 文档。我已经完成了此处概述的安装部分:https ://firebase.flutter.dev/docs/app-check/overview 现在我正在关注此文档以供使用:https ://firebase.flutter.dev/docs/app-检查/使用

因此await FirebaseAppCheck.instance.activate(webRecaptchaSiteKey: 'recaptcha-v3-site-key');,在调用初始化 firebase 之后,我将其添加到了我的 Main 方法中。

现在我需要使用 App Check 启用调试,并且文档说我应该将此依赖项添加到我的 app/build.gradle 文件中:implementation 'com.google.firebase:firebase-appcheck-debug:16.0.0-beta01'并将以下代码片段添加到我的 MainActivity.java onCreate 方法中:

我试图通过在我的项目根文件夹中使用以下命令创建 MainActivity.java 来做到这一点:flutter create -a java .

所以我的 MainActivity.java 看起来像这样:

尝试在调试模式下运行应用程序时出现此错误: Execution failed for task ':app:compileDebugJavaWithJavac'.

我错过了什么?看到其他帖子有同样的问题,但没有解决方案。

0 投票
0 回答
407 浏览

android - 如何在我的 Android React Native 项目中安装 Firebase AppCheck?

我在 Firebase 中使用 Appcheck 保护了我的项目,我的 firebase 项目中有两个应用程序,其中一个是Web 应用程序https://host-bloodhelper.web.app/),另一个是Android 应用程序(React本机应用程序)。我正在使用我在项目中使用 Yarn 安装的 react-native-firebase 库。我只使用firebase实时数据库API,当我有appCheck Unenforced(关闭)时它工作正常。我找不到任何关于如何在 Android 上的 React native 中安装 appCheck 的文档,甚至在官方网站上也找不到。

我的 index.js 文件:

应用程序.js:

包.json:

Firebase AppCheck: Firebase AppCheck 屏幕截图
Recaptcha 在我的网站上运行良好,但 SafetyNet 在 Android 上的 React Native 中无法运行。
谁能向我解释如何在 Android 上的 React Native 中安装 appCheck。任何帮助表示赞赏。

0 投票
1 回答
256 浏览

firebase - 如何测试 Firebase App Check 和 reCaptcha v3

我刚刚将 reCAPTCHA v3 添加到我的项目中。

还在 firebase 做了所有必要的事情,比如允许的 firebase App Check atc。

此时,我正在发送带有云功能的 App Check 令牌,例如https://firebase.google.com/docs/app-check/cloud-functions

我总是得到有效的应用程序令牌。我如何测试它是否无效。另外为什么我将 reCAPTCHA 添加到 firebase App Check 中?reCAPTCHA 是否生成 App Token?一整天后我很困惑。谢谢您的回答。

0 投票
1 回答
701 浏览

android - 为什么应用程序在 Firebase 项目的项目设置的 App Check (beta) 中未注册?

Firebase 项目的项目设置的应用检查(测试版)显示应用未注册,但未显示如何解决它。我在这个项目中添加了我的应用程序包名称和调试 SHA-1 密钥。我还在我的应用程序中使用了 Google 身份验证。现在,我如何注册我的应用程序?

在此处输入图像描述

0 投票
0 回答
412 浏览

android - Firebase App Check 无法正常工作(解码 App Check 令牌失败)

我最近在我的应用程序中集成了 Firebase App Check 并强制执行它来调用 Cloud Functions。问题是在我的 OnePlus 8T 上一切正常,而在所有其他设备上调用云功能失败。我正在所有设备上从 Google Play 商店(上传到内部测试)安装应用程序。

云函数日志中显示以下错误消息:

正在使用的 Firebase 依赖项列表如下:

Firebase App Check 在 Application 类中初始化如下:

正在调用的云函数的代码

应用在 OnePlus 8T 上运行时的日志

我不知道为什么 Firebase App Check 只在一台设备上通过而在所有其他设备上都失败了。任何帮助将不胜感激。

0 投票
0 回答
37 浏览

compiler-errors - 错误:找不到符号 DebugAppCheckProviderFactory.getInstance());

我正在尝试在 android 物理设备上运行我的调试颤振应用程序,但是收到错误:

如果我没有设置调试 AppCheck,我会收到 AppCheck 令牌错误,因此无法更新 Firebase 存储上的内容,因为 Firebase 不会对用户进行身份验证。

我尝试使用--stacktrace 和--info 和--debug 进行编译,但没有其他信息。如何解决这个问题?

MainClass.java,按照 FlutterFire 上的说明。

颤振主类:

使用的 Flutter 指令:指令

我已经迷路了好几天。需要帮助!谢谢!

0 投票
2 回答
1042 浏览

ios - iOS 上的 Firebase AppCheck:403 权限错误 - PERMISSION_DENIED

问:如何解决 Firebase App Check 的权限错误?

背景:我已根据文档启用 App Check:

DeviceCheck 已启用/配置: https ://firebase.google.com/docs/app-check/ios/devicecheck-provider

App Attest 已启用配置: https ://firebase.google.com/docs/app-check/ios/devicecheck-provider

SDK 被添加到项目中,代码来自: https ://github.com/firebase/firebase-ios-sdk/blob/master/FirebaseAppCheck/Apps/FIRAppCheckTestApp/FIRAppCheckTestApp/AppDelegate.swift

具体来说,在 appdelegate: Token setup 中:

调用:

requestDeviceCheckToken() 返回权限错误:

requestDebugToken() 返回权限错误:

requestAppAttestToken() 返回错误:

GCP Console 确实显示了对以下 100% 错误的所有调用:

所有这些似乎都指向权限错误?具体来说,GOOGLE_APP_ID 在请求 URL 中,但 App Check 是通过控制台在 Firebase 中配置的......

我没有在文档中看到任何我错过的内容或在 IAM 中看到的任何明显内容?:(

提前Ty寻求帮助!

更新 与邮递员进一步测试后:

问题似乎是X-Ios-Bundle-Identifier调用 AppCheck API 时 SDK 未正确传递。

得出这个结论的步骤:

  • 来自 POSTMAN:API 调用 w/原始 API_KEY -> 产生初始(以上)错误响应/403
  • 来自 POSTMAN:API 调用如上,+ X-Ios-Bundle-Identifier + 有效 debug_token -> 产生成功负载。

所以:

  • 有什么想法可以帮助识别为什么X-Ios-Bundle-IdentifierSDK 没有通过?该应用程序正在使用其他 Firebase API 的无问题,因此似乎仅限于 AppCheck SDK...
  • 和/或 - 可以X-Ios-Bundle-Identifier以编程方式(在 Swift 中)添加到 AppCheck 调用中(它在 .plist 中正确标注)

解决!

App Check SDK 目前不支持 API 密钥的 Android / iOS 应用程序限制。这样,您必须删除 API 密钥的应用程序限制才能解决此问题。

希望在某个时候会支持应用程序限制...

更新!

v8.8.0-beta 现在支持捆绑 ID!:)