Para implementar el servicio de Firebase Authentication con email y password crearemos un nuevo servicio con AngularCLI. Al usar un servicio, esta funcionalidad estará disponible en todos los componentes del proyecto en los que lo inyectemos.
Creamos los métodos relaciones con la funcionalidad de autenticación: loginWithEmail, registerWithEmail, getStatus y logOut utilizando las funciones provistas por la API de Firebase. Para hacer uso de este servicio debemos inyectarlo en los componentes de las pantallas de nuestra app.
Para hacer uso de este servicio importamos el módulo AngularFireAuth y lo pasamos al constructor. Luego en el componente tendremos que inyectar el servicio authenticationService, también en el constructor del componente.
Es necesario habilitar en Firebase el modo de autenticación de Email y Password para poder usar esta funcionalidad, y como queremos incluir el nickname y otros atributos del usuario, además de estos dos, nos apoyaremos luego en la base de datos de Firebase.