Skip to main content

Usa IA para integrar Auth0

Si usas un asistente de código con IA como Claude Code, Cursor o GitHub Copilot, puedes agregar la autenticación de Auth0 automáticamente en cuestión de minutos con Agent Skills.Instala:
Luego pídele a tu asistente de IA:
Tu asistente de IA creará automáticamente tu aplicación de Auth0, obtendrá las credenciales, agregará la dependencia del SDK auth0_flutter, configurará web/index.html, establecerá las URL de devolución de llamada e implementará los flujos de Login/Logout. Documentación completa de Agent Skills →
Requisitos previos: Antes de comenzar, asegúrate de tener instalado lo siguiente:
  • Flutter 3.0 o una versión posterior configurada para web
  • Dart 2.17 o una versión posterior
  • Conocimientos básicos de la CLI de Flutter
Verifica la instalación: flutter --versionSi no tienes una aplicación web de Flutter, crea una: flutter create --platforms=web my_app

Primeros pasos

Esta guía de inicio rápido muestra cómo añadir la autenticación de Auth0 a una aplicación web de Flutter. Crearás una aplicación segura de una sola página con funciones de inicio de sesión, cierre de sesión y perfil de usuario mediante el SDK de Auth0 para Flutter.
1

Crear un nuevo proyecto

Cree una nueva aplicación web de Flutter para esta guía de inicio rápido:
Abre el proyecto:
2

Instala el SDK de Auth0 para Flutter

Agrega el SDK de Auth0 para Flutter a tu proyecto con la CLI de Flutter:
El SDK requiere que la biblioteca Auth0 SPA JS esté cargada en su aplicación web. Agregue la siguiente etiqueta <script> a su archivo web/index.html, antes de la etiqueta de cierre </body>:
web/index.html
El script de Auth0 SPA JS es necesario para que el SDK de Flutter Web funcione. Sin él, la autenticación no funcionará.
3

Configura tu aplicación de Auth0

A continuación, debes crear una nueva aplicación en tu inquilino de Auth0.Puedes hacerlo automáticamente ejecutando un comando de la CLI o manualmente desde el Dashboard:
Ejecuta el siguiente comando de shell en el directorio raíz de tu proyecto para crear una aplicación en Auth0:macOS / Linux:
Windows (PowerShell):
Copia los valores de domain y client_id de la salida. Los usarás en el siguiente paso.
Si todavía no has instalado Auth0 CLI, ejecuta:
Luego, autentícate con auth0 login.
4

Configura el SDK

Cree una instancia de la clase Auth0Web con los valores de dominio e ID de cliente de Auth0.Cree un nuevo archivo: lib/auth0_service.dart
lib/auth0_service.dart
Reemplaza YOUR_AUTH0_DOMAIN por el dominio de tu inquilino de Auth0 (por ejemplo, dev-abc123.us.auth0.com) y YOUR_AUTH0_CLIENT_ID por el ID de cliente de tu aplicación en el panel.
Configurar cacheLocation: CacheLocation.localStorage habilita sesiones persistentes entre recargas de página.
5

Crear la vista principal

Reemplaza el contenido de lib/main.dart con el siguiente código:
lib/main.dart
Puntos clave:
  • Se invoca onLoad() en initState() para gestionar la callback de autenticación
  • loginWithRedirect() redirige a los usuarios a la página de Universal Login de Auth0
  • logout() cierra la sesión y redirige a tu aplicación
  • Se accede a la información del perfil de usuario mediante credentials.user
6

Ejecuta tu aplicación

Ejecute la aplicación web de Flutter en el puerto 3000:
Flutter 3.24.0 y versiones posteriores admiten la compilación a WASM para mejorar el rendimiento:
ComprobaciónAhora deberías tener una página de inicio de sesión de Auth0 completamente funcional ejecutándose en http://localhost:3000. Al:
  1. Hacer clic en “Log In” - se te redirige a la página de Universal Login de Auth0
  2. Completar la autenticación - se te redirige de vuelta a tu aplicación
  3. Hacer clic en “View Profile” - ves la información de tu usuario
  4. Hacer clic en “Log Out” - cierras sesión tanto en tu aplicación como en Auth0

Uso avanzado

Configura el SDK para solicitar un token de acceso para llamar a API protegidas:
lib/auth0_service.dart
Usa el token de acceso para llamar a tu API:
Pasa parámetros adicionales al flujo de inicio de sesión:
Implementa un manejo de errores adecuado para los fallos de autenticación:
Comprueba si el usuario ya está autenticado sin mostrar la página de inicio de sesión:

Solución de problemas

Error de “Callback URL mismatch”

Problema: La URL de callback no coincide con la configurada en Auth0.Solución: Asegúrate de que la URL de callback en tu código coincida exactamente con la configurada en Auth0 Dashboard:
  1. Ve a Auth0 Dashboard → Applications → Your App → Settings
  2. Verifica que Allowed Callback URLs incluya http://localhost:3000
  3. La URL debe coincidir exactamente (sin barras diagonales finales, a menos que también las incluyas en el código)

La autenticación no funciona

Problema: El botón de inicio de sesión no hace nada o la autenticación falla.Solución: Verifica que el script de Auth0 SPA JS se cargue en web/index.html:
Este script debe estar presente antes de la etiqueta de cierre </body>.

El usuario cierra sesión después de recargar la página

Problema: La sesión del usuario no se mantiene entre recargas de la página.Soluciones:
  1. Asegúrate de que Allowed Web Origins incluya http://localhost:3000 en Auth0 Dashboard
  2. Usa cacheLocation: CacheLocation.localStorage al crear una instancia de Auth0Web
  3. Verifica que se llame a onLoad() en el initState() de tu widget

Error de “Invalid state”

Problema: El estado no coincide durante el callback de autenticación.Soluciones:
  1. Borra la caché del navegador y el almacenamiento local
  2. Asegúrate de no abrir varias pestañas durante el inicio de sesión
  3. Verifica que la URL de callback sea correcta

Errores de CORS en la consola del navegador

Problema: Errores de uso compartido de recursos entre orígenes cruzados.Solución:
  1. Agrega http://localhost:3000 a Allowed Web Origins en Auth0 Dashboard
  2. Asegúrate de que la aplicación se esté ejecutando en el puerto 3000 (para que coincida con tu configuración)

Próximos pasos

Ahora que la autenticación ya funciona, puede explorar:

Recursos