instalar español conectar como agregar firebase firebase-database ionic2 firebase-authentication

español - instalar firebase en ionic 3



Error de red de Firebase Auth en la aplicación Ionic 2 (1)

Mi aplicación Firebase / Ionic 2 funciona perfectamente en el navegador (servicio iónico) y en un dispositivo Android local (Android iónico). La aplicación usa la base de datos de Firebase y funciones de autenticación.

La aplicación también funciona perfectamente en un dispositivo iOS.

Sin embargo, cuando publico en Google Play para la prueba beta en Android, el método de inicio de sesión de autenticación siempre falla con el error: "Se ha producido un error de red (como tiempo de espera, conexión interrumpida o host inalcanzable)". Pero los métodos de la base de datos de Firebase funcionan bien. Solo estoy usando el proveedor de correo electrónico / contraseña de Firebase.

He leído todas las publicaciones que encuentro similares a este tema y he intentado con todas esas soluciones. Me actualicé a las últimas versiones de todos los componentes.

El plugin cordova-plugin-whitelist está instalado. Está instalado por defecto en un nuevo proyecto Ionic 2. Según entiendo, las siguientes configuraciones de seguridad no están bloqueando Firebase.

index.html

<meta http-equiv="Content-Security-Policy" content="font-src * data:; img-src * data:; default-src * ''unsafe-eval'' ''unsafe-inline''; script-src * ''unsafe-eval'' ''unsafe-inline''">

config.xml

<access origin="*"/> <allow-intent href="http://*/*"/> <allow-intent href="https://*/*"/> <allow-navigation href="*"/>

Mi servicio

public login(email: string, password: string): Observable<any> { return Observable.fromPromise( <Promise<any>>firebase.auth().signInWithEmailAndPassword(email, password) ); }

Mi forma

this.authService.login(this.loginForm.value.email, this.loginForm.value.password) .subscribe(() => { // Do something! }, error => { // A network error has occurred! });

Información de la versión

Cordova CLI: 6.5.0 Ionic Framework Version: 2.2.0 Ionic CLI Version: 2.2.1 Ionic App Lib Version: 2.2.0 Ionic App Scripts Version: 1.1.4 Node Version: v7.2.1 In package.json: "firebase": "^3.7.1" In config.xml: <plugin name="cordova-plugin-whitelist" spec="1.3.1"/>


Pude solucionar este problema creando localmente y especificando la configuración de seguridad a continuación.

Tenga en cuenta que no puedo encontrar una configuración adecuada para producción. Sospecho que me falta un dominio en la lista blanca.

He estado generando el .apk usando ionic.io y por alguna razón generó compilaciones problemáticas. Lo extraño es que todo funcionó, excepto la autenticación de Firebase.

index.html

<meta http-equiv="Content-Security-Policy" content="default-src * data: gap://ready https://ssl.gstatic.com file://* ws://* wss://*; img-src * data:; font-src * data:; script-src * https://*.google-analytics.com https://*.googleapis.com https://*.firebaseio.com ''unsafe-eval'' ''unsafe-inline'';">

Tenga en cuenta el uso de default-src * y script-src * . Cambie cualquiera de estos a ''self'' resultados en errores.

config.xml

<access origin="*"/> <access origin="https://*.google-analytics.com"/> <access origin="https://*.googleapis.com"/> <access origin="https://*.firebaseio.com"/> <allow-navigation href="*"/> <allow-navigation href="http://ionic.local/*"/> <allow-intent href="http://*/*"/> <allow-intent href="https://*/*"/> <allow-intent href="tel:*"/> <allow-intent href="sms:*"/> <allow-intent href="mailto:*"/> <allow-intent href="geo:*"/>

Tenga en cuenta el uso de <access origin="*"/> . Eliminar esta línea produce errores.

Curiosamente, al eliminar la línea <access origin="*"/> y generar localmente, se produce el mismo error que cuando se compila con ionic.io.