【发布时间】:2023-01-09 05:11:57
【问题描述】:
我尝试使用 AngularFire 为经过验证的 Firebase 请求实施 DeviceCheck。使用 ReCaptchaV3 验证和 AngularFire 时,webApp 中的一切都运行良好。
我根据文档https://firebase.google.com/docs/app-check/ios/devicecheck-provider?hl=en设置了一切必要的东西 并与 firebase 支持联系。
在 AppDelegate.swift 中
#if targetEnvironment(simulator)
let providerFactory = AppCheckDebugProviderFactory()
#else
let providerFactory = MyAppCheckProviderFactory()
#endif
AppCheck.setAppCheckProviderFactory(providerFactory)
// Use Firebase library to configure APIs
FirebaseApp.configure()
MyAppCheckProviderFactory.swift
class MyAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
#if targetEnvironment(simulator)
// App Attest is not available on simulators.
// Use a debug provider.
let provider = AppCheckDebugProvider(app: app)
// Print only locally generated token to avoid a valid token leak on CI.
print("Firebase App Check debug token: \(provider?.localDebugToken() ?? "" )")
return provider
#else
if #available(iOS 14.0, *) {
// Use App Attest provider on real devices.
return AppAttestProvider(app: app)
} else {
return DeviceCheckProvider(app: app)
}
#endif
}
}
根据文档,这应该足以让它工作(并且 App.entitlements 设置为生产)。也许 AngularFire 没有发送令牌?
有没有人知道如何让它工作? 我考虑过使用 HTTP 拦截器并为每个请求手动添加 firebase 令牌,但不知道如何正确执行。
离子5 角度 12 "@angular/fire": "^7.2.0", “火力基地”:“^ 9.6.2”, "rxfire": "^6.0.2", “rxjs”:“~6.6.0”,
【问题讨论】:
标签: angular angularfire2 devicecheck