Los JWT son tokens digitales que verifican de forma segura la identidad del usuario. En Fin, cada JWT confirma que un usuario es quien dice ser y permite la comunicación cifrada entre el cliente y el servidor.
Tokens inválidos o cargas útiles incorrectas pueden impedir una autenticación exitosa, provocando errores 400 o bloqueando intentos de inicio de sesión.
Solucionar errores 400 para inicios de sesión de usuarios identificados
Un error 400 generalmente significa que el JWT es inválido o fue creado incorrectamente. Sigue estos pasos para resolverlo:
Usa una biblioteca JWT confiable.
Genera JWT por usuario usando una biblioteca estándar de la industria y fírmala con tu Messenger API Secret.Verifica la carga útil.
La carga útil del JWT debe incluir campos exactamente como los espera el SDK.Ejemplo: Asegúrate de que el campo
user_iduse la capitalización y formato correctos.
Relaciona el token con el usuario.
Cada JWT debe corresponder al usuario correcto. Pasar un token generado para otro usuario causará un error.
Nota: Cuando el SDK detecta un JWT inválido, bloquea los intentos de inicio de sesión para proteger la seguridad de la cuenta. Verifica tu configuración de token si los errores persisten.
Solucionar problemas de inicio de sesión de usuarios no identificados
Los inicios de sesión no identificados requieren una sesión nueva y limpia. Si un JWT inválido permanece activo, los inicios de sesión no identificados pueden fallar. Prueba lo siguiente:
Elimina sesiones previas.
Cierra sesión o borra completamente la sesión existente en el SDK.Inicia una sesión nueva.
Reinicia el flujo de inicio de sesión usando:Intercom.loginUnidentifiedUser()
Esto restablece el entorno de la sesión y asegura un inicio de sesión no identificado sin conflictos.
Mejores prácticas
Mantén las sesiones aisladas. Siempre elimina sesiones antiguas antes de iniciar un nuevo intento de inicio de sesión.
Valida los JWT en el servidor. Usa lógica de verificación para confirmar la integridad del token antes de enviarlo al SDK.
Rota los secretos de API periódicamente. Esto ayuda a mantener la seguridad y reducir el riesgo de tokens comprometidos.
Monitorea los registros de autenticación. Revisar los registros de inicio de sesión fallidos puede ayudar a identificar problemas recurrentes de formato o tiempo en JWT.
Preguntas frecuentes
¿Por qué se rechaza mi JWT aunque parece válido?
Incluso pequeñas discrepancias (como la capitalización o formato en el user_id) pueden invalidar un JWT. Asegúrate de que la estructura de la carga útil y el secreto de firma estén exactamente alineados con los requisitos del SDK.
¿Puedo reutilizar un JWT para múltiples sesiones?
No. Los JWT están diseñados para uso único o sesiones cortas para mejorar la seguridad. Siempre genera un token nuevo para cada inicio de sesión.
¿Cómo pruebo si un JWT es válido?
Usa un decodificador JWT (como jwt.io) para inspeccionar la estructura de la carga útil y confirmar que incluye el user_id y la firma correctos.
