angular / angularfire

Angular + Firebase = ❤️
https://firebaseopensource.com/projects/angular/angularfire2
MIT License
7.64k stars 2.2k forks source link

io13 only this.afAuth.auth.getRedirectResult() results in { user: null } #2225

Closed landryjeanluc closed 3 years ago

landryjeanluc commented 4 years ago

Hey everyone, I have 4 real devices in my possession.

This funciton works on all the devices. EXCEPT

on iOS13 if it is an account that has never logged into the application it doesn't return the user it instead returns { user: null }

it does work on iOS13 if I use any of my other devices to prior login, on any other platform I am never getting user returned as null but this is really breaking our app for new users coming in on the iOS. any help will be appreciated

this is an ionic 3 project. version bellow @angular/fire@5.2.1 @angular 4.4.7 Ionic:

Ionic CLI : 5.4.4 (/usr/local/lib/node_modules/ionic) Ionic Framework : ionic-angular 3.9.9 @ionic/app-scripts : 3.2.4

Cordova:

Cordova CLI : 9.0.0 (cordova-lib@9.0.1) System:

ios-sim : 8.0.2 NodeJS : v10.16.3 (/usr/local/bin/node) npm : 6.9.0 OS : macOS Catalina

donovancarthew commented 4 years ago

I am also having the same issue. I have an angular app wrapped by Cordova.

I have followed the documentation to setup fire base authentication, but I am having the same problem on iOS. https://firebase.google.com/docs/auth/web/cordova

When I “sign in with google” for the first time, the redirect works, but the auth state never changes. When I call “getRedirectResult”, then the user is null.

If I click the sign in button a second time, everything works. So one work around I have found works for google, is to simply call “signInWithRedirect” twice. However this work around does not work for Facebook.

jamesdaniels commented 3 years ago

Out of scope for AngularFire, if still experiencing consider filing an issue with the Firebase JS SDK.