Registro de SMS como en la aplicación para móviles: whatsapp

Me pregunto cómo funcionan estos mecanismos de registro de SMS. Busqué en internet, pero el problema es que hay tantos proveedores de sms que quieren vender el servicio sms en línea, que no puedo encontrar nada …

Pregunta: Cómo funciona: Configure su número de móvil y le enviaremos un SMS con un código de registro único. Ponga este código en nuestra aplicación.

¿Qué hay detrás? ¿Tienen un sms-gateway o algo así? ¿No cuesta demasiado?

Gracias

Aquí está un servicio simple de la verificación del número de teléfono construido encima de Nexmo (renuncia, hago un poco evangelism del revelador para Nexmo). Creo que es básicamente lo que estás buscando, el objetivo es verificar que un número realmente pertenece a un usuario (también podría ser utilizado para la autenticación de segundo factor).

La integración básica para una aplicación móvil (específicamente para este código de ejemplo, pero un flujo común):

  • Envíe el número de teléfono a verificar, reciba un hash único.
  • El sistema de verificación envía un código único al usuario.
  • Una vez que el usuario pasa ese código a su aplicación, el hash original y el código se envían al sistema de verificación para ser validado.

Puedes eliminar la porción alojada, y simplemente tomar los pasos dentro de tu aplicación (generar un código, enviar a través de una API SMS, comprobar el código que el usuario entra). Sin embargo, hay algunas cosas a considerar en ese punto:

  • Las credenciales de la API de SMS se compilan en su aplicación distribuida. ¿Es algo que quieres arriesgar?
  • El código se envía a través de la red desde el dispositivo; Mientras que SSL detendrá la observación casual del código, alguien que quiera falsificar un registro podría más que probablemente capturar el código de la solicitud HTTP.

Ambos problemas se resuelven colocando el sistema de verificación fuera de la aplicación móvil.

Sé que este post es antiguo, pero esto es para toda la gente cómo visitar esta página en la feuture:

Lo que el usuario "Harsh Shah" dijo que está mal ..

NO DEBE generar un número aleatorio en el propio dispositivo! Esto compromete toda la verificación,

  1. Solicita al usuario el número de teléfono, envíelo al servidor.
  2. Como respuesta a esa petición, genera un número aleatorio y guarda con el número de usuario allí los registros de usuario en db y envía SMS con ese número aleatorio, la RESPUESTA para la solicitud debe ser SENT-OK, NOT-SENT.
  3. El dispositivo consigue el SMS y lo envía de nuevo al servidor para comper con el expediente existido del DB.

el intercambio de datos:

  1. El teléfono envía ('012345567') -> el servidor responde ('SENT-OK'); En segundo plano: servidor: [generar número, lo envía en SMS, guardar en db para el usuario 01234567, por ejemplo: 123123]

[El teléfono lee el SMS, por ejemplo, '123123']

  1. El teléfono envía ('01234567', '123123') -> servidor responde ('AUTH-OK');

On background: server: [comprobar db para el usuario de registro 01234567, comper el número aleatorio generado en el paso 1 con el número que el usuario envió).

Si generas el número en el teléfono del usuario, cualquier script kiddie puede hackear tu autenticación extrayendo este número de la memoria / almacenamiento (fácil de hacer) y spoofing un sms que lo contiene (super fácil de hacer también) … Creo que este es un caso raro, pero este es un importante agujero en la seguridad, puede autenticarse como cualquier usuario existente y robar datos de ellos si lo haces de la manera "Harsh Shah", dijo …

Los fundamentos básicos son:

  1. Genera un código aleatorio en tu aplicación en el dispositivo. Pregunte al usuario por su número de móvil.
  2. Envíe este código y número de móvil a su aplicación que se ejecuta en el servidor.
  3. Llame a la API de puerta de enlace de sms para enviar el código como un mensaje al número de móvil especificado.

Hay muchos proveedores de pasarela de SMS. Puedes buscar en google. La mayoría de ellos también proporcionan un tutorial para usar su API en varios lenguajes de programación. El costo se basa principalmente en por mensaje y generalmente se van a comprar en forma de paquete de número de SMSes.

En este artículo se explica cómo integrar la verificación sms a su aplicación Android, al igual que Whats App.

Android añadiendo SMS de verificación como WhatsApp – Parte 1

Android añadiendo SMS de verificación como WhatsApp – Parte 2

Introduzca aquí la descripción de la imagen

Básicamente, los siguientes pasos implican la verificación del número de móvil

  1. El número de teléfono del primer usuario se enviará a nuestro servidor donde se creará una nueva fila de usuarios.

  2. Nuestro servidor solicita la pasarela SMS para un sms al número de móvil con un código de verificación.

  3. SMS gateway envía un SMS al dispositivo del usuario con el código de verificación.

  4. El código de verificación se enviará nuevamente a nuestro servidor para su verificación. Nuestro servidor lo verifica y activa al usuario.

  • Cómo enviar SMS con Delphi XE5 en Android
  • Acceso a mensajes SMS en la tarjeta SIM
  • Cómo detener SMS de pasar a Bandeja de entrada
  • ¿Cómo eliminar sms de la bandeja de entrada?
  • Codifique el cuerpo del mensaje SMS de ContentResolver en UTF-8
  • Cómo obtener lista de sms como convesations en cada dispositivo Android 2.2+
  • ¿Cómo evitar que los SMS entrantes lleguen a la bandeja de entrada?
  • Permitir que el usuario que utiliza el navegador móvil para enviar el código de producto que quieren por SMS
  • Eliminar sms android después de recibir Sin demora
  • SmsManager SendDataMessage en Android
  • Android: ¿Recibe todos los sms enviados? (bandeja de salida)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.