¿Qué hace esta skill?

La Seguridad en Quarkus Skill proporciona una guía completa de mejores prácticas para asegurar aplicaciones Quarkus, cubriendo autenticación con JWT/OIDC, autorización declarativa con roles, validación estricta de entradas y prevención de inyección SQL. Gestiona secretos de forma segura mediante variables de entorno o HashiCorp Vault y aplica cabeceras de seguridad, rate limiting y protección contra CSRF/XSS.

Autenticación JWT y OIDC
Protege recursos con @Authenticated e inyecta JsonWebToken para acceder a las claims del usuario en tus endpoints.
Autorización RBAC
Configura autorización declarativa con @RolesAllowed a nivel de clase o método para restringir el acceso por roles.
Validación de Entradas
Aplica Bean Validation con @NotBlank, @Email y @Size en tus DTOs y marca los endpoints con @Valid.
Gestión de Secretos
Evita secretos hardcoded en application.properties usando variables de entorno o integración con HashiCorp Vault.

Ejemplos de uso

🔑 Proteger endpoint con JWT
Necesito proteger el endpoint /api/admin de mi aplicación Quarkus para que solo puedan acceder usuarios con rol ADMIN usando JWT.
✅ Validar DTO de registro
Crea un DTO de registro de usuario con validación de campos (nombre, email, contraseña mínima 8 caracteres) y haz el hash de la contraseña con BCrypt.
🔒 Configurar secretos y CORS
Configura mi application.properties de Quarkus para usar variables de entorno en los secretos de OIDC y base de datos, y añade CORS para mi dominio.
🛡️ Endurecimiento HTTP
Añade cabeceras de seguridad CSP, HSTS y X-Frame-Options a mi aplicación Quarkus y configura rate limiting en endpoints públicos.

Características

Autenticación JWT/OIDC Integración con quarkus-oidc para proteger recursos mediante @Authenticated y acceso a claims del token.
Autorización declarativa RBAC Control de acceso basado en roles con @RolesAllowed y SecurityIdentity a nivel de clase o método.
Validación con Bean Validation Anotaciones @NotBlank, @Email, @Size en DTOs y endpoints marcados con @Valid para entradas estrictas.
Prevención de inyección SQL Consultas parametrizadas con Panache y JPA para evitar vulnerabilidades de inyección en base de datos.
Hardening HTTP y gestión de secretos Cabeceras de seguridad (CSP, HSTS, X-Frame-Options), rate limiting y secretos vía variables de entorno o HashiCorp Vault.

Preguntas frecuentes

No. Esta skill es una guía de mejores prácticas que se aplica directamente sobre tu código Quarkus. Solo necesitas tener tu proyecto Quarkus configurado con las dependencias de seguridad correspondientes (quarkus-oidc, quarkus-security, etc.).
Sí. Las prácticas y anotaciones descritas (SecurityIdentity, @RolesAllowed, JsonWebToken, Bean Validation) son compatibles con Quarkus 3.x y superiores.
Recomienda evitar secretos hardcoded en application.properties y usar variables de entorno (${ENV_VAR}) o integración con HashiCorp Vault para una gestión segura.
Sí. Las anotaciones de Bean Validation son configurables y puedes crear validadores personalizados según las necesidades de tu aplicación.

Skills relacionadas

Mas skills de la misma categoria:

Seguridad en Quarkus — Hardening de Microservicios Java con Claude AI

¿Prefieres escuchar el contenido? Genera la narración de audio con un clic.