当应用检查失败时,为什么应用检查执行不阻止我登录?

问题描述 投票:0回答:1

我已经强制执行了应用程序检查并在应用程序中对其进行了初始化,但即使我只是为了测试它而提供了错误的密钥,我仍然能够登录。我已经将 app-check 升级到更新的版本,但之前它还可以工作。

   async getAppCheck() {
      try {
         const rnfbProvider = await firebase.appCheck().newReactNativeFirebaseAppCheckProvider();
         rnfbProvider.configure({
            android: {
               provider: __DEV__ ? 'debug' : 'playIntegrity',
               debugToken: 'a07b3e55-4cc3-414f-a498-ffb66bebda6c',
            }
         });
    
         firebase.appCheck().initializeAppCheck({ provider: rnfbProvider, isTokenAutoRefreshEnabled: true })
            .then((res) => {
               console.log("initializeAppCheck: ", JSON.stringify(res));
            }).catch((error) => {
               console.error("app check failed: " + error);
            });
      } catch (e) {
         console.error("Failed to initialize appCheck:", e);
      }
   }

initializeAppCheck 总是返回 null(无论是通过应用程序检查还是未通过)。它不应该返回一个指示是失败还是通过的值吗?

javascript firebase react-native react-native-firebase firebase-app-check
1个回答
0
投票

尽管这不是解决方案,但我能够使用

getToken()
函数获取令牌。然后我检查返回值是否为空,并允许用户基于该值进行身份验证。

通常情况下,如果应用程序检查失败,firebase 应该阻止用户进行身份验证。也许,如果我处于调试模式而不是生产模式,它仍然允许用户进行身份验证,我还没有在产品中测试过。但如果情况并非如此,那么这绝对是 Firebase 团队应该关注的一个错误。

© www.soinside.com 2019 - 2024. All rights reserved.