firebase / FirebaseUI-iOS

iOS UI bindings for Firebase.
Apache License 2.0
1.5k stars 467 forks source link

default email address not working for signup #1145

Open nerocristallo opened 1 year ago

nerocristallo commented 1 year ago

I want to use two different flows for signin and signup

I am currently using "email" parameter in signIn method for pre-fill the email address FUIEmailAuth.signIn(withPresenting: rootViewController, email: "default@email.zzz")

This method runs when I push the signIn button

    func signin() {

        self.authUI.tosurl = nil
        self.authUI.privacyPolicyURL = nil

        if let rootViewController = self.window?.rootViewController {
            let providerFUIEmailAuth = FUIEmailAuth(authAuthUI: self.authUI, signInMethod: EmailPasswordAuthSignInMethod, forceSameDevice: false, allowNewEmailAccounts: false, requireDisplayName: false, actionCodeSetting: ActionCodeSettings())
            let providers: [FUIAuthProvider] = [
                providerFUIEmailAuth
            ]
            self.authUI.providers = providers
            providerFUIEmailAuth.signIn(withPresenting: rootViewController, email: defaultEmail)
        }

    }

IMG_0014

and this one runs when I push the signUp button


    func signup() {

         self.authUI.tosurl = URL(string: "https://uptivo.fit/privacy-and-terms-of-use/")!
         self.authUI.privacyPolicyURL = URL(string: "https://uptivo.fit/privacy-and-terms-of-use/")!

         if let rootViewController = self.window?.rootViewController {
             let providerFUIEmailAuth = FUIEmailAuth(authAuthUI: self.authUI, signInMethod: EmailPasswordAuthSignInMethod, forceSameDevice: false, allowNewEmailAccounts: true, requireDisplayName: false, actionCodeSetting: ActionCodeSettings())
             let providers: [FUIAuthProvider] = [
                 providerFUIEmailAuth
             ]
             self.authUI.providers = providers
             providerFUIEmailAuth.signIn(withPresenting: rootViewController, email: defaultEmail)
         }
    }

IMG_0015

It is working fine for signIn but not for signUp Is it a bug? Is there any other way to pre-fill the signup email address?

morganchen12 commented 1 year ago

Do you get any errors when signing up? Are you able to sign up with the same email via Firebase Auth directly?

nerocristallo commented 1 year ago

I do not see any error and if I manually fill the email with "default@email.zzz" (or any other fake email address) then the sign up procedure works properly.

The problem is not the signup procedure itself but the content of the email field at the beginning. It should not be empty but it should be the defaultEmail that I've specified in the FUIEmailAuth.signIn method.