Mostrar email del usuario logueado en Angular
Clase 67 de 80 • Curso de Angular 4
Contenido del curso
Introducción a Angular 4
Setup del Ambiente de Trabajo
Conceptos Básicos
- 9

Para qué nos sirven los Módulos y Componentes
08:10 min - 10

Tipos de Data Binding y String Interpolation
05:05 min - 11

Property Binding
06:04 min - 12

Event Binding
03:04 min - 13

ngModel y two way binding en Angular
05:12 min - 14

Directivas en Angular 4 y ngFor
07:39 min - 15

Cómo usar ngIf en Angular 4.0
03:04 min - 16

Instalando librerías con NPM (Google Maps)
06:48 min
Directivas
Angular UI
Ruteo
- 24

Qué hace el router en Angular 4
03:11 min - 25

Implementación de Rutas en el Proyecto
07:36 min - 26

Href vs router link: navegación angular
02:27 min - 27

Resaltando el link activo con CSS para indicar visualmente en que componente nos encontramos
01:53 min - 28

Parámetros de ruta con routerLink en Angular
06:01 min - 29

Parámetros tipo Query
03:53 min - 30

Creando una vista de detalle para el proyecto
09:06 min - 31

Página de contacto Angular desde cero
07:45 min
Servicios
- 32

Servicios en Angular para compartir datos
00:58 min - 33

Creando nuestro propio servicio
07:11 min - 34

Configurando Firebase en nuestro proyecto
05:12 min - 35

Guardando Records en Firebase
12:20 min - 36

Obteniendo records desde Firebase
08:40 min - 37

Obteniendo coordenadas usando Geocoding
13:45 min - 38

Reto: Crear una vista para editar records
09:29 min - 39

Mostrando marcadores en el Mapa de Google
03:02 min
Conexión Remota (Http y Sockets)
Pipes
Animaciones en Angular
Testing en Angular
Autenticación y Protección de Rutas
- 59

Cómo funcionan los JSON Web Tokens
03:05 min - 60

Preparación de vistas para login y registro
11:58 min - 61

Registrando usuarios
07:29 min - 62

Loggeando usuarios
07:18 min - 63

Guardias canActivate en Angular: Proteger rutas con autenticación
11:09 min - 64

Cómo integrar Facebook login con Firebase
09:08 min - 65

Logout en Angular con Firebase
05:28 min
RxJS
- 66

Cómo funciona RxJS con metáfora de oficina
02:09 min - 67

Mostrar email del usuario logueado en Angular
Viendo ahora - 68

Uso de los Observables
04:30 min - 69

Cómo implementar type ahead con Observables y RxJS
10:43 min - 70

Implementar formularios reactivos con type ahead
07:58 min - 71

Cómo rellenar campos automáticamente con Google
01:28 min
Publicando nuestro proyecto
Fin del curso
Sesiones en vivo
Contenido Bonus
Logra que tu barra superior muestre el correo del usuario logueado junto al botón de logout usando Firebase en Angular. Con un ajuste simple en tu service y un pequeño setTimeout, evitas listeners costosos y obtienes el currentUser completo para leer su email. Además, prepara el proyecto para trabajar con RxJS y Observable.
¿Cómo obtener el usuario con Firebase Auth en Angular?
Para exponer al usuario logueado, se crea un método en el archivo de autorización.service.ts que retorne el objeto de autorización de Firebase. Así puedes inspeccionarlo y luego acceder a las propiedades útiles, como el currentUser.
- Agrega un método público en el service.
- Retorna el objeto de autorización para ver sus propiedades.
// autorización.service.ts
public getUser() {
return this.angularFireAuth.auth;
}
¿Cómo leer currentUser y su email de forma segura?
A veces, justo al cargar, algunas propiedades de Firebase vienen en null o undefined. La solución práctica aquí es esperar medio segundo (500 ms) antes de leer el currentUser. Así obtienes el objeto completo sin abrir un socket ni suscribirte todavía a nada.
- Declara la variable para el correo inicializada en null.
- Espera 500 ms y toma el email desde currentUser.
- Evita mostrar [object Object] iniciando en null, no con objeto vacío.
// app.component.ts
logUser: any = null;
// Cuando el usuario está logueado
setTimeout(() => {
const auth = this.autorizacionService.getUser();
this.logUser = auth.currentUser.email;
// console.log(this.logUser);
}, 500);
¿Cómo mostrar el email junto al botón de logout con ngIf?
Coloca un nuevo
<!-- app.component.html -->
<li *ngIf="logUser">
<a>{{ logUser }}</a>
</li>
- Usa interpolación para renderizar el correo.
- Usa ngIf para no ocupar espacio si no hay sesión.
- Mantén el estilo envolviendo con , aunque no sea cliqueable.
¿Por qué esperar medio segundo en lugar de usar sockets u observables?
Porque, en este caso, el objetivo es simple: leer el email cuando ya está disponible. Escuchar cambios permanentes a través de un socket o con flujos complejos puede gastar recursos innecesariamente. Si sabes que el usuario estará listo casi de inmediato, un retardo breve es suficiente.
- Evita conexiones persistentes si no aportan valor.
- Ahorra recursos cuando solo necesitas una lectura puntual.
- Ajusta a 500 ms para asegurar currentUser completo.
¿Cómo preparar el proyecto para RxJS y observables?
Si quieres avanzar a un enfoque reactivo, basta con importar RxJS y Observable en tu componente. Esto deja listo el entorno para, más adelante, suscribirte a flujos y manejar estados de autenticación de forma declarativa.
- Importa la librería principal de RxJS.
- Importa Observable para empezar a trabajar con flujos.
// app.component.ts
import 'rxjs/Rx';
import { Observable } from 'rxjs';
¿Te funcionó esta implementación? Comparte tus dudas o mejoras en los comentarios y cuéntame cómo mostrarás más datos del usuario junto al logout.