Este artículo también está disponible en:

Asegurar el acceso al juego con autenticación JWT

Asegurar el Acceso a Juegos con JWT Autenticación


JWT Autenticación te permite transmitir de forma segura la información del jugador a tu experiencia en Drimify y controlar quién puede acceder a ella. En lugar de enviar datos del jugador en parámetros de consulta simples — que cualquiera podría falsificar — tu sistema emite un Token Web JSON (JWT) firmado. Drimify verifica la firma utilizando tu secreto compartido, de modo que las afirmaciones de identidad del jugador se pueden confiar sin necesidad de una llamada de retorno de servidor a servidor.


Esto es ideal para programas de fidelización, portales de miembros, y cualquier escenario donde el juego esté incrustado en un entorno autenticado y necesites saber de manera confiable quién está jugando.


Cómo funciona


  1. Creas una Configuración JWT en tu cuenta de Drimify (algoritmo + secreto).
  2. Habilitas JWT Authentication en tu app y seleccionas esa configuración.
  3. Tu sistema genera un token firmado que contiene la información del jugador y lo pasa al abrir el juego.
  4. Drimify verifica la firma y la expiración del token, lee los claims mapeados y permite el acceso al jugador. Los tokens inválidos o ausentes son bloqueados con una pantalla de error personalizable.


Paso 1 — Crear una Configuración JWT


Ve a Mi Cuenta → Configuraciones JWT (justo debajo de Integraciones) y haz clic para añadir una nueva configuración:


  • Nombre: Una etiqueta para tu propia referencia.
  • Algoritmo: El algoritmo de firma que tu sistema utiliza. Soportado: HS256, HS384, HS512 (HMAC, secreto compartido) y ES256, ES384 (ECDSA).
  • Secreto: El secreto compartido usado para verificar la firma del token. Por seguridad, los secretos HMAC deben cumplir una longitud mínima: 32 caracteres para HS256, 48 para HS384, 64 para HS512. El secreto se enmascara después de guardarlo.
  • Espacios de trabajo: Selecciona qué espacio de trabajo puede usar esta configuración. Una app solo puede usar configuraciones disponibles en su espacio de trabajo.


Mapeo de campos (nombres de claims)


Por defecto, Drimify lee nombres estándar de claims desde tu token. Si tu emisor de tokens usa nombres de claims diferentes (ej. user_email en lugar de email), usa la sección de mapeo de campos para mapear cada nombre de claim de tu token al parámetro correspondiente del juego de Drimify.


El mapeo de campos funciona como una lista blanca: solo los campos que configures se leen desde el token. Cada campo de Drimify puede ser mapeado una vez (sin duplicados).


Paso 2 — Habilitar JWT Autenticación en tu app


En tu editor de aplicaciones, abre la etapa de Ajustes y activa Habilitar JWT Authentication. Luego:


  • Selecciona la configuración JWT a usar (solo configuraciones disponibles en el espacio de trabajo de la app están listadas — si no existe ninguna, un enlace te lleva a Configuraciones JWT).
  • Opcionalmente, establece un título y descripción de error personalizados, mostrados a los jugadores cuando se les niega el acceso (token ausente o inválido).


Paso 3 — Pasar el token al abrir el juego


Tu sistema puede entregar el token de tres maneras (si hay varias presentes, también es el orden de precedencia):


  1. Encabezado BearerAuthorization: Bearer <token> — recomendado para producción, ya que el token nunca aparece en URLs, registros, o historial del navegador.
  2. Cadena de consultahttps://tu-url-del-juego?jwt=<token> — conveniente para pruebas, pero los tokens en URLs pueden filtrarse a través de registros e historial del navegador.
  3. Datos POST — un campo de formulario jwt=<token>.


Requisitos del Token


  • El token debe ser firmado con el algoritmo y secreto definidos en tu Configuración JWT.
  • Incluir una afirmación exp (expiración) y mantener cortos los tiempos de vida del token — los tokens expirados son rechazados. Se aplica una pequeña tolerancia de desfase de reloj, por lo que las pequeñas diferencias de reloj entre servidores no causarán fallas.
  • Los claims deben contener los campos del jugador que mapeaste en la configuración (ej. email, id único, nombre de usuario, número de teléfono).


Ejemplo de carga útil


{
  "sub": "user-123",
  "email": "player@example.com",
  "iat": 1753257600,
  "exp": 1753261200
}


Puedes generar tokens de prueba en jwt.io pegando tu secreto en el campo de verificación de firma.## Comportamientos de seguridad que debes tener en cuenta


  • Los parámetros de consulta ya no sobreescriben los datos del player. Cuando la Autenticación JWT está habilitada, la información del player proviene exclusivamente del token verificado — se ignoran los valores de la cadena de consulta. Esto evita que nadie eluda el token editando la URL.
  • Los límites de participación se aplican desde el token. Si tu app limita las participaciones por correo electrónico o número de teléfono, la declaración correspondiente debe estar presente en el token; de lo contrario, el acceso es denegado. Los valores de correo electrónico o teléfono inválidos también son rechazados, por lo que los límites no se pueden eludir con datos malformados.
  • Las configuraciones en uso no se pueden eliminar. Una Configuración JWT que todavía está referenciada por una app debe ser desasignada antes de poder ser eliminada.
  • Mantén tu secreto seguro. Cualquiera que posea el secreto puede emitir tokens válidos. Si un secreto se ve comprometido, actualízalo en la configuración — ten en cuenta que esto invalida inmediatamente todos los tokens firmados con el viejo secreto.


Solución de problemas


  • Los players ven la pantalla de error de acceso: Verifica que el token esté firmado con el algoritmo y secreto correctos, que no haya expirado y que se pase mediante uno de los tres métodos admitidos.
  • Datos del player no aparecen: Verifica tu mapeo de campos — solo se leen del token las declaraciones mapeadas.
  • Configuración no listada en la configuración de la app: Asegúrate de que la configuración esté habilitada para el espacio de trabajo de la app.

Actualizado el: 24/07/2026

¿Este artículo te resultó útil?

Comparte tu opinión

Cancelar

¡Gracias!