7. Flutter: login Google y configuración API

Implementa login Google en Flutter con Firebase Auth y configura consumo seguro de una API .NET con bearer token.

Actualizado: 20 de febrero de 2026.

Ahora conectamos la app Flutter con Firebase Auth y backend autenticado.

Prerrequisitos

  1. Tener clonado o disponible codigo/ de esta serie.
  2. Contar con Firebase y Novita configurados para pruebas.
  3. Haber completado el capítulo anterior del curso.

Paso 1: pantalla de login

Archivo:

  • codigo/app/lib/screens/login_screen.dart

Se usa:

  1. GoogleSignIn()
  2. FirebaseAuth.instance.signInWithCredential(...)

Paso 2: base URL del backend

Archivo:

  • codigo/app/lib/configUrl.dart

Se lee con:

const String.fromEnvironment('API_BASE_URL')

Paso 3: token al backend

Archivo:

  • codigo/app/lib/services/api_service.dart

Método _token() obtiene ID token y cada request agrega:

  • Authorization: Bearer <token>

Paso 4: validación básica

cd codigo/app
rg -n "GoogleSignIn|getIdToken|Authorization" lib -S

Paso 5: ejecución

flutter run --dart-define=API_BASE_URL=http://localhost:56449/api

Troubleshooting

  1. Login cancela siempre: revisa SHA en Firebase para Android.
  2. 401 desde backend: token no se está adjuntando.
  3. Navegación vuelve a login: token expirado o usuario deslogueado.

FAQ corta

¿La app guarda token manualmente?

No, se obtiene desde FirebaseAuth cuando hace falta.

¿Se puede cambiar backend por entorno?

Sí, con --dart-define=API_BASE_URL=....

¿Qué pasa si backend responde 401?

ApiService redirige al login.

Fuente verificada

  • Código del curso:
    • codigo/app/lib/screens/login_screen.dart
    • codigo/app/lib/services/api_service.dart
    • codigo/app/lib/configUrl.dart
  • Documentación oficial:

Tutoriales relacionados