Clave simétrica: un secreto compartido

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Soluciones incrustadas en páginas web > Autenticación > Autenticación JWT >

Clave simétrica: un secreto compartido

Este es el procedimiento para usar JWT en una solución incrustada en una página web:

 

1.Cree un JWT con cifrado simétrico. El JWT está basado en (i) la información propiedad-valor que introduzca (las denominadas notificaciones) y en (ii) una cadena aleatoria (el denominado secreto compartido).
2.Configure MobileTogether Server para que verifique el JWT que envíe la página web. Aquí debe indicar dos datos: (i) el secreto que utilizó para generar el JWT y  (ii) el valor de la notificación Audiencia (que debe coincidir con el valor utilizado para generar el JWT).
3.En la página web pase el JWT al IFrame.

 

Cuando se pasa el JWT al servidor, el servidor lo valida usando la información sobre Audiencia y el secreto compartido que introdujo en las opciones de configuración para generar el JWT.

 

Crear un JWT

Para este ejemplo usamos la herramienta Online JWT Builder de Jamie Kurtz para crear un JWT con clave simétrica (secreto compartido) y describimos las notificaciones (pares propiedad/valor JSON) que son relevantes para la autenticación JWT de soluciones MobileTogether incrustadas en páginas web.

 

Notificaciones estándar

Las notificaciones estándar (imagen siguiente) conforman el conjunto central de notificaciones.

Click to expand/collapse

 

MobileTogether Server comprueba si la hora del acceso al servidor está dentro del período de validez del JWT. Por tanto, defina las horas de emisión y expiración correctamente.
El parámetro Audience es uno de las opciones que debe configurar en MobileTogether Server. Por tanto, especifique el mismo valor en en el campo Audiencia de la página Opciones de MobileTogether Server.
El parámetro Subject especifica qué usuario debe iniciar sesión en MobileTogether Server. Si el nombre de usuario que introduce aquí corresponde a un usuario que está registrado con MobileTogether Server, entonces se inicia sesión con los permisos que tiene dicho usuario. Si el nombre de usuario no está registrado con MobileTogether Server, el usuario se registra con MobileTogether Server y se inicia sesión, pero deberá asignarle los permisos pertinentes para que pueda acceder al flujo de trabajo.

 

 

Clave simétrica (o secreto compartido) para JWT

La clave (o secreto compartido), junto con los demás datos que introduzca, se usan para generar el JWT. Este secreto será el que utilice MobileTogether Server para descifrar y autenticar el JWT que reciba de la página web. Así que el secreto se usa tanto para el cifrado como para el descifrado. A la hora de generar el JWT, podrá especificar como secreto compartido cualquier cadena de texto. Después deberá introducir la misma cadena en la opción de configuración Secreto de MobileTogether Server (ver más abajo).

 

En la imagen siguiente, por ejemplo, se introdujo un secreto de 32 caracteres de largo y se seleccionó el algoritmo de cifrado HS256. Cuando se hace clic en el botón Create Signed JWT, el JWT se crea y aparece en el cuadro de texto.

Click to expand/collapse

 

Opciones de MobileTogether Server

En la página Opciones de MobileTogether Server debe habilitar la autenticación JWT (imagen siguiente) y después introducir dos opciones de configuración:

 

Secreto: se trata de la clave simétrica (secreto compartido) que se utilizó para crear el JWT. Con esta información el servidor podrá verificar el JWT. Si usa cifrado asimétrico, en este campo debe introducir la clave pública del par privado/público.
Audiencia: se trata de la misma cadena que introdujo para la notificación Audiencia cuando creó el JWT.

JWTMTSSettings

 


© 2019 Altova GmbH