baumblatt / capacitor-firebase-auth

Capacitor Firebase Authentication Plugin
MIT License
261 stars 129 forks source link

Popup-blocked during login with facebook on IOS #147

Open Arkowsky opened 3 years ago

Arkowsky commented 3 years ago

I'm very grateful for this package and all work done in this project :)

I have issue with implement login facebook using capacitor on IOS according to package tutorial. After click on button, user is redirected to safari on facebook login screen and after login I have screen with button "Continue to APP" and trying to redirect back to my application. I have noticed that after click button "Continue with facebook" on my app I received in XCode: ` [error] - {"code":"auth/popup-blocked","message":"Unable to establish a connection with the popup. It may have been blocked by the browser."}

⚡️ ------ STARTUP JS ERROR ------

⚡️ Error: Unable to establish a connection with the popup. It may have been blocked by the browser. ⚡️ URL: ⚡️ :67:511

⚡️ See above for help with debugging blank-screen issues `

This is my code (VUE.JS):

import { cfaSignIn } from 'capacitor-firebase-auth' .... loginFacebook () { cfaSignIn('facebook.com').subscribe( user => { console.log(user) this.$router.push({ name: 'dashboard' }) } ) }

I was searching on google and stackoverflow but it tells me (some stackoverflow solution? that I should use signInWithRedirect but this is done by package itself (?) or this should be user interaction - my loginFacebook vue method is connected directly to button click so I don't know whether this is the issue (see below): <q-btn color="primary" v-show="showSocialLogin" class="full-width q-my-xs" :label="$t('login_form.continue_with_facebook')" @click="loginFacebook()" />

Did anybody have similar issue and want share solution?

smail-aouissa commented 3 years ago

same here :/

jpsilva commented 3 years ago

I'm getting the same issue when signing in with google.com.

Everything worked as expected this morning before I updated Xcode to 12.5.1. No idea if that caused the issue for me.

Diex commented 2 years ago

using nativeSignIn I think you loose config possibilities : for example you should be able to use SignInWithRedirect method. But internally nativeSignIn uses

// web sign in
            firebase.app().auth().signInWithCredential(credential)
                .then((userCredential) => {
                observer.next({ userCredential, result });
                observer.complete();
            })

which is also deprecated... this is a problem if you're using the same codebase (ie: Ionic) for android and web based app. in particular is a problem on Ios due to the default safari setting that prevent popups (not even an alert or anything)

any thoughts? regards ! dx

Diex commented 2 years ago

maybe related to #80