首页 > 解决方案 > FirebaseUI authUI 回调未在电子邮件/通过注册时调用

问题描述

我正在使用 FirebaseUI 对用户进行身份验证,但authUI(_ authUI: FUIAuth, didSignInWith authDataResult...在电子邮件/密码用户注册时没有调用我的回调(注意:注册,而不是登录)。Google 和 FB 注册以及后续通过 pass/FB/Google 登录都可以正常工作;只有电子邮件/通行证注册让我感到悲伤。这是代码:

struct MyLoginViewController: UIViewControllerRepresentable {
    
    func makeCoordinator() -> MyLoginViewController.Coordinator {
        Coordinator(self)
    }
    
    func makeUIViewController(context: Context) -> UIViewController {
        let authUI = FUIAuth.defaultAuthUI()
        let providers: [FUIAuthProvider] = [
            FUIGoogleAuth(),
            FUIFacebookAuth(),
            FUIEmailAuth(),
        ]
        authUI?.providers = providers
        authUI?.delegate = context.coordinator
        
        let authViewController = authUI?.authViewController()  
        return authViewController!
    }
    
    func updateUIViewController(_ uiViewController: UIViewController, context: Context) {
        //
    }
    
    class Coordinator: NSObject, FUIAuthDelegate {
        var parent: MyLoginViewController
        
        init(_ myLoginViewController: MyLoginViewController) {
            self.parent = myLoginViewController
        }
        // MARK: FUIAuthDelegate
        func authUI(_ authUI: FUIAuth, didSignInWith authDataResult: AuthDataResult?, error: Error?) {
            if let error = error {
                assertionFailure("Error signing in: \(error.localizedDescription)")
            }
        }
        
        func authUI(_ authUI: FUIAuth, didFinish operation: FUIAccountSettingsOperationType, error: Error?) {
            if let error = error {
                assertionFailure("Error: \(error.localizedDescription)")
            }
        }
    }

谢谢

标签: iosswiftfirebasefirebase-authenticationfirebaseui

解决方案


推荐阅读