Saltar al contenido principal
Requisitos previos: Antes de empezar, asegúrate de tener instalado lo siguiente:
  • Java Development Kit (JDK): versión 8 o superior
  • Herramienta de compilación: Maven 3.6+ o Gradle 6.0+
  • Servidor de aplicaciones: Apache Tomcat 9.0+ o cualquier contenedor de servlets
  • Cuenta de Auth0: Regístrate gratis si aún no tienes una

Usa IA para integrar Auth0

Si usas un asistente de programación con IA como Claude Code, Cursor o GitHub Copilot, puedes añadir la autenticación de Auth0 automáticamente en cuestión de minutos con agent skills.Instala:
npx skills add auth0/agent-skills --skill auth0-quickstart --skill auth0-java-mvc-common
Luego, pídele a tu asistente de IA:
Add Auth0 authentication to my Java servlet app
Tu asistente de IA creará automáticamente tu aplicación de Auth0, obtendrá las credenciales, añadirá la dependencia del SDK Auth0 Java MVC Commons, configurará tu web.xml e implementará los flujos de inicio y cierre de sesión con filtros de servlet. Documentación completa sobre agent skills →

Primeros pasos

Esta guía de inicio rápido muestra cómo agregar la autenticación de Auth0 a una aplicación Java Servlet. Creará una aplicación web segura con funciones de inicio de sesión, cierre de sesión y perfil de usuario mediante el SDK Auth0 Java MVC Commons.
1

Crear un nuevo proyecto web en Java

Cree un nuevo proyecto de aplicación web en Java para esta guía de inicio rápido.
mvn archetype:generate \
  -DgroupId=com.auth0.example \
  -DartifactId=auth0-servlet-app \
  -DarchetypeArtifactId=maven-archetype-webapp \
  -DinteractiveMode=false
Vaya al directorio del proyecto:
cd auth0-servlet-app
2

Instala el SDK Auth0 Java MVC Commons

Agrega la dependencia de Auth0 al archivo de compilación del proyecto.
Agrega la siguiente dependencia a tu pom.xml:
<dependencies>
    <dependency>
        <groupId>com.auth0</groupId>
        <artifactId>mvc-auth-commons</artifactId>
        <version>1.11.1</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
</dependencies>
3

Configurar la aplicación de Auth0

A continuación, debes crear una nueva aplicación en tu inquilino de Auth0 y agregar la configuración a tu proyecto.
  1. Ve al Auth0 Dashboard
  2. Haz clic en Applications > Applications > Create Application
  3. En la ventana emergente, ingresa un nombre para tu aplicación, selecciona Regular Web Application como tipo de aplicación y haz clic en Create
  4. Ve a la pestaña Settings en la página de detalles de la aplicación
  5. Anota los valores de dominio, ID de cliente y Secreto del cliente del Auth0 Dashboard
  6. Por último, en la pestaña Settings de la página de detalles de la aplicación, configura las siguientes URL:
Allowed Callback URLs:
http://localhost:8080/callback
URL permitidas para el cierre de sesión:
http://localhost:8080/login
Orígenes web permitidos:
http://localhost:8080
  • Allowed Callback URLs son una medida de seguridad fundamental para garantizar que los usuarios regresen de forma segura a su aplicación después de la autenticación. Sin una URL que coincida, el proceso de inicio de sesión fallará y los usuarios verán una página de error de Auth0 en lugar de acceder a su aplicación.
  • Allowed Logout URLs son esenciales para ofrecer una experiencia fluida al cerrar sesión. Sin una URL que coincida, los usuarios no serán redirigidos de vuelta a su aplicación después de cerrar sesión y, en su lugar, permanecerán en una página genérica de Auth0.
  • Allowed Web Origins es fundamental para la autenticación silenciosa. Sin esta configuración, los usuarios cerrarán sesión al actualizar la página o al volver a su aplicación más tarde.
4

Configura el SDK de Auth0

Configure su aplicación servlet para usar el SDK de Auth0. Para ello, configure web.xml con las credenciales de Auth0 generadas anteriormente.Cree o actualice src/main/webapp/WEB-INF/web.xml y sustituya los valores de marcador de posición por la configuración real de su aplicación de Auth0:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <display-name>Auth0 Servlet Example</display-name>

    <!-- Configuración de Auth0 -->
    <context-param>
        <param-name>com.auth0.domain</param-name>
        <param-value>YOUR_AUTH0_DOMAIN</param-value>
    </context-param>
    <context-param>
        <param-name>com.auth0.clientId</param-name>
        <param-value>YOUR_AUTH0_CLIENT_ID</param-value>
    </context-param>
    <context-param>
        <param-name>com.auth0.clientSecret</param-name>
        <param-value>YOUR_AUTH0_CLIENT_SECRET</param-value>
    </context-param>
</web-app>
Importante: Reemplace YOUR_AUTH0_DOMAIN, YOUR_AUTH0_CLIENT_ID y YOUR_AUTH0_CLIENT_SECRET por los valores reales de la configuración de su aplicación en Auth0.
5

Crear componentes de autenticación y filtros

Crea las clases Java necesarias para gestionar los flujos de autenticación y proteger las páginas protegidas.
6

Crear páginas de interfaz de usuario

Cree las páginas JSP y los archivos HTML para su aplicación.
7

Compila y ejecuta tu aplicación

Ahora ya está listo para compilar y ejecutar la aplicación.
Compile la aplicación:
mvn clean compile war:war
Impleméntela en Tomcat:
# Copie el archivo WAR al directorio webapps de Tomcat
cp target/auth0-servlet-app.war $CATALINA_HOME/webapps/ROOT.war
Inicie Tomcat (o el contenedor de servlets que prefiera):
$CATALINA_HOME/bin/startup.sh  # En Unix/Linux/Mac
# o
$CATALINA_HOME/bin/startup.bat  # En Windows
Punto de controlAhora deberías tener una aplicación servlet completamente funcional integrada con Auth0 y ejecutándose en http://localhost:8080/Prueba la implementación:
  1. Ve a la URL de tu aplicación
  2. Haz clic en “Iniciar sesión con Auth0”
  3. Completa el proceso de inicio de sesión de Auth0
  4. Deberías ser redirigido a tu página de perfil, donde se muestran los tokens
  5. Haz clic en “Cerrar sesión” para cerrar la sesión

Uso avanzado

Ahora que ya tiene la autenticación básica en funcionamiento, tenga en cuenta estas mejoras:
  • Información del perfil de usuario: Decodifique el token de ID para mostrar la información del usuario
  • Llamadas a API: Use el token de acceso para llamar a la Management API de Auth0 o a sus propias API
  • Acceso basado en roles: Implemente la autorización mediante roles y permisos de Auth0
  • Inicio de sesión único: Configure SSO en varias aplicaciones
Problemas comunesLa autenticación falla con “Invalid callback URL”
  • Verifique que la URL de callback en la configuración de su aplicación de Auth0 coincida exactamente con: http://localhost:8080/callback
Error “Missing domain, clientId, or clientSecret”
  • Compruebe que la configuración de web.xml tenga los valores correctos de la aplicación de Auth0
  • Asegúrese de que los nombres de los parámetros coincidan exactamente: com.auth0.domain, com.auth0.clientId, com.auth0.clientSecret
La aplicación no se inicia
  • Verifique que todas las dependencias necesarias estén en su classpath
  • Compruebe que su contenedor de servlets sea compatible con Servlet API 3.0+
  • Revise los registros del servidor para identificar mensajes de error específicos
La sesión no se mantiene
  • Asegúrese de que su contenedor de servlets esté configurado para la administración de sesiones
  • Compruebe que las cookies estén habilitadas en su navegador
  • Verifique que se use HTTPS en los entornos de producción
Para obtener soporte adicional, visite la Comunidad de Auth0 o consulte el Centro de soporte de Auth0.