@nativescript/firebase-app-check-debug
NativeScript Firebase - App Check
npm i --save @nativescript/firebase-app-check-debug

@nativescript/firebase-app-check-debug

npm install @nativescript/firebase-app-check-debug

警告:调试提供者允许从未经验证的设备访问您的 Firebase 资源。不要在生产版本的应用中使用调试提供者,也不要与不可信的第三方共享您的调试版本。

注意:(iOS)App Check 需要您将 ios/Podfile 中的最小 iOS 部署版本设置为 11.0 或更高。

它做什么

App Check 与其他 Firebase 服务协同工作,有助于保护您的后端资源免受滥用,例如计费欺诈或钓鱼攻击。使用 App Check,运行您的应用设备的设备将使用应用程序或设备证明提供者来证明以下一个或两个条件:

请求源自您的认证应用程序 请求源自一个认证且未被篡改的设备

image

此证明附加到您的应用程序对 Firebase 后端资源的每个请求。

此 App Check 模块内置了对以下服务作为证明提供者的支持:

DeviceCheck for iOS SafetyNet for Android App Check 目前支持以下 Firebase 产品:

实时数据库 云存储 云函数(可调用的函数)有关更多信息,包括关于 iOS AppAttest 提供器和测试/ CI 集成的信息,请参阅官方 Firebase App Check 文档,值得一读。

使用方法

import { firebase } from '@nativescript/firebase-core';
import { AppCheck } from '@nativescript/firebase-app-check-debug';

AppCheck.setProviderFactory(); // call before the fb app is initialized
firebase.initializeApp()
.then(app =>{
firebase().appCheck().activate(true);
})

激活

唯一可配置的是令牌自动刷新。当您调用 activate 时,提供者保持不变,但令牌自动刷新设置将根据提供的参数更改。

自动数据收集

App Check 有一个 "tokenAutoRefreshEnabled" 设置。这可能导致 App Check 在用户同意之前尝试远程 App Check 令牌获取。在某些场景中,例如首次运行的符合 GDPR 的应用程序,这可能是不希望的。

如果未设置,则 "tokenAutoRefreshEnabled" 设置将委托给应用程序的 "自动数据收集" 设置,这可能在 Info.plist 或 AndroidManifest.xml 中设置。

使用 App Check 令牌访问非 Firebase 服务

有关如何使用 getToken 访问当前 App Check 令牌并在外部服务中进行验证的详细信息,请参阅官方文档

许可

Apache 许可证版本 2.0