Esta guía de inicio rápido está actualmente en beta. ¡Nos encantaría conocer tus comentarios!
Usa IA para integrar Auth0
Usa IA para integrar Auth0
Si usas un asistente de programación con IA como Claude Code, Cursor o GitHub Copilot, puedes agregar autenticación de Auth0 automáticamente en minutos con agent skills.Instalación:Luego, pide a tu asistente de IA:Tu asistente de IA creará automáticamente tu API de Auth0, obtendrá las credenciales, agregará la dependencia del SDK de Auth0 para la API de Spring Boot, configurará
application.yml e implementará una SecurityFilterChain con validación de JWT y endpoints protegidos. Documentación completa de agent skills →Requisitos previos: Antes de comenzar, asegúrate de tener instalado lo siguiente:
- JDK 17+ para compatibilidad con Spring Boot 3.2+
- Maven 3.6+ o Gradle 7+ para gestionar dependencias
- Tu IDE preferido (IntelliJ IDEA, Eclipse o VS Code con soporte para Java)
Primeros pasos
1
Crear un nuevo proyecto
Cree un nuevo proyecto de API con Spring Boot para esta guía de inicio rápido:Con Spring Initializr:O créelo manualmente con Maven:
2
Añade el SDK de Auth0
Añade el SDK de API de Auth0 para Spring Boot a las dependencias de tu proyecto:Maven (Gradle (
pom.xml):build.gradle):3
Configura la API de Auth0
A continuación, debes crear una nueva API en tu tenant de Auth0 y agregar la configuración a tu proyecto.Puede hacerlo automáticamente ejecutando un comando de CLI o de forma manual a través del Dashboard:
- CLI
- Dashboard
Ejecuta el siguiente comando de shell en el directorio raíz de tu proyecto para crear una API de Auth0 y actualizar el archivo
application.yml:- Mac/Linux
- Windows (PowerShell)
4
Configurar la autenticación
Crea una clase de configuración de seguridad para habilitar la autenticación con JWT de Auth0. Crea
src/main/java/com/example/auth0api/SecurityConfig.java:src/main/java/com/example/auth0api/SecurityConfig.java
5
Crear endpoints públicos y protegidos
Cree endpoints de API para probar la autenticación. Cree
src/main/java/com/example/auth0api/ApiController.java:src/main/java/com/example/auth0api/ApiController.java
6
Inicia tu API
Inicie la aplicación Spring Boot:Maven:Gradle:Tu API ya está en ejecución en
http://localhost:8080 (consulta la salida de la consola para ver la URL exacta).Punto de verificaciónAhora deberías tener una API protegida por Auth0 totalmente funcional ejecutándose en tu localhost
Uso avanzado
Llamar a API protegidas
Llamar a API protegidas
Pruebe sus endpoints protegidos con un token de acceso.1. Obtenga un token de acceso de Auth0 mediante el flujo Client Credentials:2. Pruebe el endpoint público (debe devolver 200 OK):3. Pruebe el endpoint protegido sin autenticación (debe devolver 401 Unauthorized):4. Llame al endpoint protegido con el token:
Para obtener
YOUR_CLIENT_ID y YOUR_CLIENT_SECRET, cree una aplicación
Machine to Machine en el Auth0 Dashboard
y autorícela para su API.Acceso a claims de JWT
Acceso a claims de JWT
Acceda a información adicional del usuario y a los claims del token en sus endpoints.
Autorización basada en alcances
Autorización basada en alcances
Implemente un control de acceso detallado mediante los alcances de JWT para mejorar la seguridad.1. Defina alcances en su API de Auth0:En Auth0 Dashboard → APIs → Your API → Permissions, agregue alcances:Al solicitar un token de acceso, incluya el alcance requerido:
read:users- Leer datos de usuariowrite:users- Escribir datos de usuarioadmin- Acceso administrativo
Seguridad mejorada con DPoP
Seguridad mejorada con DPoP
Habilite DPoP (Demonstration of Proof-of-Possession) para reforzar la seguridad de los tokens al vincular los tokens de acceso a claves criptográficas.Configure la compatibilidad con DPoP en application.yml:Modos de DPoP:
-
ALLOWED(predeterminado): Acepta tokens Bearer y DPoP -
REQUIRED: Solo acepta tokens DPoP; rechaza tokens Bearer -
DISABLED: Solo validación estándar de JWT BearerObtenga más información sobre DPoP en la documentación de DPoP de Auth0.
Problemas comunes
No se encontraron los valores de configuración
No se encontraron los valores de configuración
Problema: La aplicación no se inicia debido a errores de configuración.Solución: Verifica la estructura de
application.yml y los nombres de las propiedades. Asegúrate de que la sección auth0 contenga los valores de dominio y audiencia.Problemas con el orden de los filtros
Problemas con el orden de los filtros
Problema: La autenticación no funciona a pesar de que la configuración es correcta.Solución: Asegúrate de que Auth0AuthenticationFilter esté correctamente integrado en la cadena de Spring Security. El filtro debe agregarse antes de UsernamePasswordAuthenticationFilter.
Problemas de conectividad de red
Problemas de conectividad de red
Problema: Fallos al recuperar JWKS o tiempos de espera de conexión.Solución: Es posible que el firewall corporativo esté bloqueando los endpoints de Auth0. Agrega los dominios de Auth0 a la lista permitida para el acceso por HTTPS:
Los alcances no funcionan en las políticas de autorización
Los alcances no funcionan en las políticas de autorización
Problema: Las políticas de autorización basadas en alcances siempre fallan.Solución: Asegúrate de que tu token de acceso incluya los alcances necesarios. Al solicitar un token, especifica los alcances:También verifica que los alcances estén definidos en la configuración de tu API de Auth0 (Dashboard → APIs → Tu API → Permissions).
Recursos adicionales
Documentación del SDK
Documentación completa del SDK y referencia de la API
Ejemplos de código
Amplia colección de ejemplos de código y patrones de integración
Documentación de DPoP
Más información sobre la mejora de seguridad mediante prueba de posesión
Referencia de Spring Security
Documentación oficial de Spring Security
Auth0 Dashboard
Administre sus API y aplicaciones de Auth0
Foro de la comunidad
Obtenga ayuda de la comunidad de Auth0
Aplicación de ejemplo
Aplicación de entorno de pruebas
Incluye endpoints públicos y protegidos, compatibilidad con DPoP y ejemplos
completos