- 版本:3.3.2
- GitHub: https://github.com/NativeScript/firebase
- NPM: https://npmjs.net.cn/package/%40nativescript%2Ffirebase-app-check
- 下载量
- 昨日:12
- 上周:50
- 上月:312
@nativescript/firebase-app-check
npm install @nativescript/firebase-app-check
注意:(iOS)App Check 需要在 ios/Podfile 中设置最低 iOS 部署版本为 11.0 或更高。
它做什么
App Check 与其他 Firebase 服务一起工作,帮助保护您的后端资源免受滥用,例如账单欺诈或网络钓鱼。使用 App Check,运行您的应用程序的设备将使用一个应用程序或设备证明提供者,该提供者证明以下一个或两个
请求来自您的认证应用程序 请求来自一个认证的、未被篡改的设备 这种证明附加到您的应用程序向 Firebase 后端资源发出的每个请求。
此 App Check 模块内置了对以下服务作为证明提供者的支持
iOS 的 DeviceCheck Android 的 SafetyNet App Check 当前支持以下 Firebase 产品
实时数据库 云存储 云函数(可调用的函数)官方 Firebase App Check 文档(https://firebase.google.com/docs/app-check)提供了更多信息,包括关于 iOS AppAttest 提供者和测试/ CI 集成的信息,值得一读。
用法
激活
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 时,提供者保持不变,但令牌自动刷新设置将根据提供的参数进行更改。
您必须在调用任何 App Check 后端服务之前调用 activate,以便 App Check 能够正常工作。
自定义提供者
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);
})
自动数据收集
App Check 有一个 "tokenAutoRefreshEnabled" 设置。这可能导致 App Check 在用户同意之前尝试远程 App Check 令牌获取。在某些场景中,例如第一次运行的符合 GDPR 的应用程序,这可能是不可取的。
如果未设置,则 "tokenAutoRefreshEnabled" 设置将依赖于应用程序的 "自动数据收集" 设置,该设置可能在 Info.plist 或 AndroidManifest.xml 中设置。
使用 App Check 令牌访问非 Firebase 服务
官方文档(https://firebase.google.com/docs/app-check/web/custom-resource)展示了如何使用 getToken 来访问当前的 App Check 令牌,并在外部服务中进行验证。
许可
Apache 许可协议版本 2.0