Antes de empezar. El backend ya permite acceso mediante JWT. Hoy comprobarás que esa transición mantiene los permisos y funciona en el entorno publicado.
Se explica
25 minutos · explicación y demostración
Servidor 39–40 completa login, JWT, CORS y cierre del cliente. Intermodular verifica la transición y su configuración. La clave de firma pertenece al entorno; el token es una credencial temporal y no debe aparecer en evidencias públicas.
Cambiar Basic o sesión por Bearer no cambia quién puede hacer qué. La matriz y las pruebas de la semana anterior se conservan. Una versión que permite iniciar sesión pero pierde las restricciones de propiedad no está lista para publicar.
Se trabaja
140 minutos · trabajo guiado sobre el producto compartido
Bloque A · Comprobar el punto de partida
Ejecuta el login de Servidor 39 en local y una ruta protegida. Comprueba contraseña incorrecta, token alterado y rol insuficiente. Utiliza sus implementaciones existentes, sin copiar otra SecurityConfig de Internet.
Bloque B · Configurar CI y producción
Añade JWT_SECRET al entorno que ejecuta las pruebas de contexto, con una clave ficticia exclusiva de CI. En producción configura una clave distinta mediante el proveedor. Conserva las variables de base de datos y documenta solo los nombres. Si hay «Could not resolve placeholder», comprueba el proceso que arranca Java antes de modificar código.
Bloque C · Integrar el cliente existente
Reutiliza el formulario y transporte de token construidos en Servidor. Actualiza el origen permitido de producción en su configuración CORS unificada. En Red verifica que las peticiones protegidas llevan Authorization y que el preflight puede resolverse. No mantengas a la vez dos configuraciones CORS contradictorias.
Bloque D · Repetir el contrato de permisos
Ejecuta acceso permitido, token ausente/caducado, rol insuficiente y acceso a recurso ajeno. Prueba cierre de sesión en el cliente. Explica que retirar un token del navegador no revoca una copia todavía válida; registra la política implementada, sin prometer una revocación inexistente.
Bloque E · Publicar la transición
En las notas de versión indica cómo se autentica el cliente y qué configuración exige el entorno. Despliega la combinación probada y repite login más una operación permitida y otra rechazada. Registra SHA, ejecución y resultado sin copiar tokens, hashes ni contraseñas.
Cierre
15 minutos · comprobación del resultado
Al terminar la sesión: El acceso con JWT funciona en la versión publicada y conserva los permisos anteriores. Has comprobado identidad válida, token no válido y acceso a recursos ajenos.