Firebase Phone Auth reCAPTCHA验证在某些设备上不起作用

时间:2019-07-15 08:44:33

标签: ios firebase firebase-authentication

我正在使用最新版本的Firebase身份验证来构建iOS应用程序。

当我尝试在设备上使用“电话号码”执行登录时,好像不需要reCAPTCHA验证并且可以正常工作。

相反,当我尝试在其他设备上运行该应用程序时,它需要reCAPTCHA验证,但是突然间,当完成验证您不是机器人的验证时,我看到屏幕仍然空白并且无法正常工作。

我在“堆栈溢出”中搜索了几个答案,并提到了在后台模式下启用某些功能(我已启用“远程通知”,“后台提取”,“ IP语音”,“音频”,“播放” ...)。他们提到的关于GoogleService文件中REVERSED_CLIENT_ID的其他内容,我必须将该URL复制到URL方案中,当然我已经复制了它。

这是我的一些委托函数:

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
    let firebaseAuth = Auth.auth()
    if (firebaseAuth.canHandleNotification(userInfo)){
        print("User infor ",userInfo)
        return
    }
}

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {

    let token = deviceToken.hexString
    print("====== This is device token ",deviceToken)

    let firebaseAuth = Auth.auth()
    // I used to set type .unknown to .prod as well and it doesn't work
    firebaseAuth.setAPNSToken(deviceToken, type: .unknown)
    InstanceID.instanceID().instanceID { (result, error) in
        if let error = error {
            NSLog("Error getting instance ID ", error.localizedDescription)
        } else if let result = result {
            Messaging.messaging().apnsToken = deviceToken
            UserDefaults.standard.setFCMToken(value: result.token)
        }
    }
    print("=============== Device token",deviceToken.description)
    if let uuid = UIDevice.current.identifierForVendor?.uuidString {
        print(uuid)
    }
    UserDefaults.standard.setValue(token, forKey: "ApplicationIdentifier")
    UserDefaults.standard.synchronize()


}

还有其他我想念的吗?为什么在其他iOS设备上不起作用?为什么需要reCAPTCHA验证,然后验证后屏幕仍然空白?

2 个答案:

答案 0 :(得分:2)

输入以下代码,然后要求输入VerificationID。

Auth.auth().settings?.isAppVerificationDisabledForTesting = true

Check Documentation

答案 1 :(得分:0)

我不确定您运行的是哪个iOS版本,但iOS 13的reCAPTCHA存在问题,尚未解决

https://github.com/firebase/firebase-ios-sdk/issues/3706