I'm using FirebaseUI to authenticate users but my authUI(_ authUI: FUIAuth, didSignInWith authDataResult... callback is not being called upon email/password user sign up (NB: sign up, not sign in). All works fine for Google and FB signups, and for subsequent sign ins via pass/FB/Google; only email/pass sign ups are causing me grief. Here's the code:
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)")
}
}
}
Thanks