Descripción general
OneSignal ofrece una función de seguridad mejorada llamada Verificación de Identidad para ayudar a prevenir la suplantación de usuarios. Esta función utiliza JSON Web Tokens, o JWTs, generados de forma segura en tu servidor. Para verificar la información de suscripción, estos tokens se pasan a tu aplicación y a la API de OneSignal. Recomendamos habilitar la Verificación de Identidad para:- Iniciar sesión de usuarios
- Agregar suscripciones de correo electrónico
- Agregar suscripciones de SMS
- Modificar identidades de usuarios
Contacta a
[email protected] para que esto sea habilitado.Requisitos previos
- Una aplicación OneSignal existente con una plataforma push configurada.
- Una aplicación móvil integrada con uno de los SDKs compatibles:
Configuración
1
Generar nuevas claves
Inicia sesión en tu cuenta de OneSignal y navega a Configuración > Claves e IDs > Verificación de Identidad.
Haz clic en Generar Nuevas Claves para crear un nuevo par de claves.
Descarga el archivo PEM o copia la clave privada, asegurándote de almacenar la clave privada de forma segura.

Configuración de Verificación de Identidad

Creación de nuevo par de claves

Par de claves de Verificación de Identidad
2
Generar JWT de verificación en tu backend
La verificación de identidad requiere autenticar al usuario final con tu servidor de autenticación antes de iniciar sesión en OneSignal. Cuando el usuario final se autentica con tu backend, genera el token e inclúyelo en la respuesta de autenticación al dispositivo. Si tu aplicación no ejecuta un servidor backend, considera configurar un servidor ligero para verificar usuarios y generar estos tokens.La clave privada está en el archivo del paso anterior que descargamos del Panel.
Carga útil JWT
El JWT puede tener las siguientes propiedades:Tu ID de Aplicación de OneSignal
La fecha de expiración del token.
El alias del usuario.
subscriptions
Requerido solo cuando se agregan suscripciones de Correo electrónico y SMS a un usuario.
Firmar el JWT
Firma el JWT usando el algoritmo ES256. Asegúrate de que tu backend esté configurado para usar este método de firma para evitar problemas de verificación al enviar el JWT a OneSignal. Recomendamos una Biblioteca JWT para hacer esto.Ejemplo usando jsonwebtoken:Incluir suscripciones
Idealmente, los detalles de suscripción, como correo electrónico o número de teléfono, se incluyen en la carga útil JWT al iniciar sesión de un usuario. Si estos detalles no están disponibles por adelantado, tu servidor de verificación debe proporcionar un endpoint para generar tokens dinámicamente a medida que la información de suscripción esté disponible.Ejemplo: Generar JWT para agregar suscripciones3
Pasar JWT al método `login`
Una vez que tu backend genera el JWT, llama al método
login con él. Este token asegura que la identidad del usuario sea verificada antes de que se puedan hacer cambios, como agregar una suscripción de correo electrónico o SMS.Ejemplo de inicio de sesión:4
Manejar eventos del ciclo de vida del JWT
Necesitarás implementar un endpoint dedicado en tu backend para manejar escenarios como la invalidación de tokens. Este endpoint debe proporcionar un JWT actualizado cuando OneSignal solicite una actualización.Ejemplo de manejo de invalidación de token y actualización del JWT:Esto asegura que cuando el JWT de un usuario se invalide, se pueda obtener uno nuevo de tu backend y pasarlo a OneSignal. También puedes usar esta función para generar un token con un correo electrónico y número de teléfono, permitiéndote gestionar suscripciones de correo electrónico y SMS si el token creado durante la autenticación no los contiene.
5
Habilitar verificación de identidad de token en el panel
Desde Configuración > Claves e IDs, activa Verificación de Identidad de Token para habilitar.
Una vez habilitado, tu aplicación debe enviar JWTs de OneSignal para verificar la autenticidad de la suscripción. Además, tu aplicación debe llamar al método

Habilitando Verificación de Identidad de Token
login usando un JWT generado por tu servidor de tokens de verificación de identidad.Agregar suscripciones
No necesitas tomar pasos adicionales para agregar suscripciones desde tu aplicación móvil; llamar al método de inicio de sesión maneja esto automáticamente por ti.- Agregar un correo electrónico
- Agregar un número de teléfono
REST API
Cuando la Verificación de Identidad de Token está habilitada, todas las solicitudes a las siguientes APIs deben incluir un JWT generado por el servidor en los encabezados como un token bearer, ej.,Authorization: Bearer <JWT>.
- Crear usuario
- Ver usuario
- Actualizar usuario
- Eliminar usuario
- Ver identidad de usuario
- Crear alias
- Eliminar alias
- Crear suscripción
- Actualizar suscripción