JSON Web Token

Hola!

- Se tiene un API REST con SpringBoot como Back end y la autenticación está por BASIC sobre HTTPS (ya se, deberia ser tambien por token pero ya está así).

- Se tiene un Front End con tapestry que se comunica con el back end.

- Se tiene una aplicación principal que usa Struts y EJBs 3, a esta aplicación es a la que los usuarios ingresan. Esta aplicación se quiere ir migrando paulatinamente desarrollando los nuevos requerimientos sobre los dos esquemas arriba descritos (api rest y tapestry).

La idea es que desde la aplicación principal que tiene Struts y EJB's ya existe un login y se me ocurre que los nuevos desarrollos embeberlos con un iframe, por lo tanto la idea sería que desde la aplicación principal generar y firmar el token con un periodo de expiración de unos 20 minutos y envíarlo en la URL que se pasa al iframe:

iframe src="https://misitio.com?jwt=23878913hvasdasd.fss2323423423dfsdf.sdfsdfsertet

Por lo tanto, el nuevo front end de tapestry se encargaría de validar el token.

Las preguntas obligatorias?... Es buena idea hacerlo de esta forma? De que otra manera se puede hacer? Es inseguro usar el iframe y pasarle ahi el JSON Web Token?, yo pienso que al usar la llave privada no importa que el token esté expuesto y adicional al tiempo de expiración de 20 minutos...

¿Qué opinan?

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

Tapestry?

Qué versión de Tapestry tienes?

Yo usé Tapestry un buen tiempo, pero no lo recomiendo ya. Empecé con la 3 cuando era la más nueva. Nunca pudimos pasarnos a la 4 porque era completamente incompatible con la 3. Luego salió la 5 que era completamente incompatible y distinto a las anteriores; para entonces ya era algo tan distinto que ibamos a tener que reescribir casi toda la aplicación, y por lo tanto ya daba igual si era Tapestry 5 o cualquier otra cosa. Y cuando estábamos empezando a migrar, Salió Tapestry 5.1 que tenía incompatibilidades con la 5.0 y me harté y mandamos al carajo ese framework, y mejor usamos Grails, en parte porque las actualizaciones de una versión a otra son bastante sencillas.

Imagen de WinDoctor

5.4

Uso la última versión, 5.4

De la versión 5.3 a la 5.4 no hubo problemas en cuanto al cambio. Recuerdo que de la 5.2 a la 5.3 si no "jalaba" de forma transparente.

Digamos que como yo no conocí tapestry en sus versiones 3 y 4, yo aún le creo a Lewis Ship que está acentando las bases para futuras compatibilidades. Por lo que se, para la versión 5.5 tampoco habrá problema con actualizarse.