【问题标题】:DeviceCheck / AppAttest not working on iOS device with Ionic 5, Angular 12 project using AngularFireDeviceCheck / AppAttest 无法在带有 Ionic 5 的 iOS 设备上运行,Angular 12 项目使用 AngularFire
【发布时间】: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


    【解决方案1】:

    嗨,你有没有让这个工作?我有相同的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      • 2023-03-10
      • 2014-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多