usuario register recordar olvide contraseña auth javascript angularjs authentication firebase

javascript - register - ¿Cómo mantengo a un usuario conectado en una aplicación de Firebase después de actualizar?



registrar usuario firebase (2)

El código que ahora tiene maneja el caso donde el usuario inicia sesión. Para controlar los casos en los que el usuario ya ha iniciado sesión, supervisa el estado de autenticación. De la documentación de Firebase sobre el estado de supervisión de autenticación :

// Create a callback which logs the current auth state var ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com"); ref.onAuth(function(authData) { if (authData) { console.log("User " + authData.uid + " is logged in with " + authData.provider); } else { console.log("User is logged out"); } });

Normalmente, solo desea mostrar el botón de inicio de sesión en el else de esta función.

Tengo una aplicación integrada en firebase y angular, y quiero poder mantener a los usuarios conectados después de actualizar la página. En este momento tengo una pantalla de inicio de sesión con dos campos de entrada básicos que se unen a un controlador

this.email = ""; this.pass = ""; this.emessage = ""; this.loginUser = function() { ref.authWithPassword({ email: this.email, password: this.pass }, function(error, authData) { if (error) { console.log("Login Failed!", error); this.emessage = error.message; $scope.$apply(); } else { dataStorage.uid = authData.uid; $location.path(''/projects''); $scope.$apply(); } }.bind(this)); }

Todo esto está muy bien y funciona, pero cuando el usuario actualiza la página, se vuelve a iniciar sesión. ¿Hay alguna forma de, cuando el controlador se carga, ver si el usuario ya inició sesión y redirigir automáticamente? ¡Gracias!


Si está usando Angular 4 puede usar AngularFire2 - Integración oficial de Firebase.

Tengo un AuthService que envuelve AngularFire2. Acabo de recuperar AuthSession en el constructor de Service y uso cuando lo necesito. Ejemplo:

@Injectable() export class AuthenticationService { private authState: any; constructor(public afAuth: AngularFireAuth) { this.afAuth.authState.subscribe((auth) => { this.authState = auth }); } get user(): any { return this.authenticated ? this.authState : null; } }

Código de servicio completo de autenticación aquí Full Angular 4 con el ejemplo de Firebase aquí