8.7 发布—WinterCG 合规性第一部分
了解更多

在 GitHub 上查看

@nativescript/firebase-app-check

cli
npm install @nativescript/firebase-app-check

注意

(iOS) 应用检查要求您将 ios/Podfile 中的最小 iOS 部署版本设置为 11.0 或更高。

它有什么作用

应用检查与其他 Firebase 服务协同工作,以帮助保护您的后端资源免遭滥用,例如计费欺诈或网络钓鱼。使用应用检查,运行您应用程序的设备将使用应用程序或设备证明提供者,该提供者证明以下一项或两项

请求来自您的真实应用程序 请求来自真实的、未经篡改的设备 此证明附加到您的应用程序向 Firebase 后端资源发出的每个请求。

image

此应用检查模块内置支持使用以下服务作为证明提供者

iOS 上的 DeviceCheck Android 上的 SafetyNet 应用检查目前适用于以下 Firebase 产品

实时数据库 云存储 云函数(可调用函数)官方 Firebase 应用检查文档 提供更多信息,包括关于 iOS AppAttest 提供者以及测试/CI 集成的信息,值得一读。

用法

激活

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

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

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

您必须在调用任何 Firebase 后端服务之前调用 activate,才能使应用检查正常运行。

自定义提供者

ts
import { firebase } from '@nativescript/firebase-core'
import {
  AppCheck,
  AppCheckProviderFactory,
  AppCheckProvider,
} from '@nativescript/firebase-app-check'

class AppCheckProviderFactoryImpl extends AppCheckProviderFactory {
  createProvider(app: FirebaseApp) {
    // we could potentiall do something with the app
    return new AppCheckProviderImpl()
  }
}

class AppCheckProviderImpl extends AppCheckProvider {
  getToken(done) {
    // do some call probably http
    // finally call done when you're ready passing in a token along with the expirationDate
    done({
      token: someToken,
      expirationDate: someDate,
    })
  }
}

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

自动数据收集

应用检查有一个“tokenAutoRefreshEnabled”设置。这可能会导致应用检查在用户同意之前尝试远程应用检查令牌获取。在某些情况下,例如在第一次运行符合 GDPR 的应用程序时存在的那些情况,这可能是不可取的。

如果未设置,“tokenAutoRefreshEnabled”设置将默认使用应用程序的“自动数据收集”设置,该设置可能在 Info.plist 或 AndroidManifest.xml 中设置。

将应用检查令牌用于非 Firebase 服务

官方文档 展示了如何使用 getToken 访问当前应用检查令牌,然后在外部服务中验证它。

许可证

Apache 许可证 2.0 版

上一个
分析
下一个
认证