Obteniendo un error al iniciar sesión con Ionic Angularfire2 usando Google

0

Estoy intentando iniciar sesión en Google usando AngularFire2. La autenticación de Google funciona perfectamente cuando la uso this.afAuth.auth.signInWithPopup. Pero signInWithPopupes solo para navegador y no funcionará para aplicaciones móviles. Según la documentación de Google, signInWithRedirectdebe usarse para app. Intenté usar el método pero está abriendo el navegador para iniciar sesión.

En su lugar, intenté usar el complemento cordova google plus para iniciar sesión y usar el accessToken para autenticar Firebase.

Cuando intento llamar al método de inicio de sesión del complemento cordova, se produce un error y el error solo tiene el número '17'.

Tengo las siguientes preguntas

  • ¿Hay algo que me esté perdiendo?
  • ¿Cuál es la mejor manera de iniciar sesión en la aplicación móvil iónica con google plus?
  • ¿Cuál es el significado del error '17'?

Aqui esta mi codigo

this.gPlus.login({
    webClientId: '<myClientID>',
    offline: true
  })
  .then(res => {
    this.afAuth.auth.signInWithCredential(res.accessToken);
  }, (err) => {

    console.log(err) // Logging 17 here.
  })
  .catch(err => {
    console.log(err);
  })
5
  • Tu escenario es correcto. Pero primero, debe averiguar el error de qué paso. ¿Cordova inicio de sesión de Google o inicio de sesión de Firebase?
    Duannx
    3 de enero de 2018 a las 2:11
  • @Duannx, proviene del inicio de sesión de Google de Córdoba. Puedo atraparlo con el método de captura 3 de enero de 2018 a las 3:52
  • ¿Puede capturar su error por favor? No necesita webClientId, así que elimínelo. Tratarthis.gPlus.login({})
    Duannx
    3 de enero de 2018 a las 4:14
  • @Duannx intenté pasar un objeto vacío, está dando el mismo error. Y el error tiene valor 17 3 de enero de 2018 a las 4:49
  • Quizás esta publicación pueda ayudar
    Duannx
    3 de enero de 2018 a las 4:53
0
let provider = new firebase.auth.GoogleAuthProvider();
firebase.auth().signInWithRedirect(provider).then(() => {
    firebase.auth().getRedirectResult().then((result)=>{

    }).catch(function(error){

    }) 
})

Utilice este código para iniciar sesión con Google. Seguramente abrirá el navegador para iniciar sesión, pero también puede tener la capacidad de regresar a la página deseada en la aplicación. También obtendrá los datos.