Регистрация SMS, как в мобильном приложении: whatsapp
Мне интересно, как работают эти механизмы смс-регистрации. Я искал в интернете, но проблема в том, что есть так много sms-провайдеров, которые хотят продавать онлайн-sms-услуги, поэтому я ничего не могу найти...
Вопрос:
Как это работает: Установите свой номер мобильного телефона и отправил вам SMS с отп. Вставьте этот пароль в приложение.
Что позади? У них есть смс-шлюз или что-то вроде этого? Сколько это стоит?
Спасибо
Ответы
Ответ 1
Здесь простая служба проверки телефонных номеров, построенная поверх Nexmo (отказ от ответственности, я немного поощряю разработчиков для Nexmo). Я думаю, что это в основном то, что вы ищете, цель состоит в том, чтобы убедиться, что число действительно принадлежит пользователю (может также использоваться для аутентификации 2-го фактора).
Базовая интеграция для мобильного приложения (специально для этого примера кода, но общий поток):
- Отправьте номер телефона, который будет проверен, получите уникальный хэш.
- Система проверки отправляет пользователю уникальный код.
- Как только пользователь передает этот код вашему приложению, исходный хеш и код отправляются в проверяющую систему, подлежащую проверке.
Вы можете удалить размещенную часть и просто выполнить эти шаги внутри своего приложения (сгенерировать код, отправить через SMS-API, проверить код, который вводит пользователь). Однако в этом вопросе есть несколько вещей:
- Учетные данные SMS API скомпилированы в ваше распределенное приложение. Это то, что вы хотите рискнуть?
- Код отправляется через сеть с устройства; в то время как SSL прекратит случайное наблюдение за кодом, кто-то, кто хотел подделать регистрацию, мог более чем вероятно захватить код из HTTP-запроса.
Обе эти проблемы решаются путем установки системы проверки вне мобильного приложения.
Ответ 2
я знаю, что этот пост слишком старый, но это для людей, которые посетят эту страницу в будущем:
то, что пользователь "Суровый Шах" сказал неправильно..
Вы НЕ ДОЛЖНЫ генерировать случайное число на самом устройстве!
это скомпрометирует всю проверку,
- Вы спрашиваете у пользователя номер телефона, отправляете его на сервер.
- в качестве ответа на этот запрос вы генерируете случайное число и сохраняете его вместе с номером пользователя в записях пользователей на БД, и отправляете SMS с этим случайным числом, ОТВЕТ на запрос должен быть ОТПРАВЛЕН-ОК, НЕ-ОТПРАВЛЕН.
- устройство получает SMS и отправляет его обратно на сервер для сравнения с существующей записью в БД.
обмен данными:
- телефон отправляет ('012345567') → ответ сервера ('SENT-OK');
на фоне:
Сервер: [создать номер, отправить его в SMS, сохранить в дБ для пользователя 01234567, например: 123123]
[телефон читает SMS, например, как "123123"]
- телефон отправляет ("01234567", "123123") → сервер отвечает ("AUTH-OK");
на фоне:
сервер: [проверьте БД для записи пользователя 01234567, сравните случайное число, сгенерированное на шаге 1, с номером, отправленным пользователем).
если вы сгенерируете номер в телефоне пользователя, любой скрипт-ребенок может взломать вашу аутентификацию, извлекая этот номер из памяти/хранилища (это легко сделать) и подделывая содержащее его смс (это также очень легко сделать)...
Вы можете подумать, что это редкий случай, но это серьезная дыра в безопасности, вы можете идентифицировать себя как любого существующего пользователя и украсть у него данные, если вы делаете это так, как сказал "Суровый шах"...
Ответ 3
Основными принципами являются:
- Создайте случайный код в приложении на устройстве. Попросите пользователя указать номер своего мобильного телефона.
- Отправьте этот код и номер мобильного телефона в приложение, запущенное на сервере.
- Вызовите API-интерфейс sms-шлюза, чтобы отправить код в виде сообщения на указанный номер мобильного телефона.
Существует много провайдеров шлюзов SMS. Вы можете искать в google. Большинство из них также предоставляют учебник по использованию их API на различных языках программирования. Стоимость в основном основана на каждом сообщении, и обычно они должны быть куплены в виде пакета количества SMS-сообщений.
Ответ 4
В этой статье объясняется, как интегрировать проверку sms в ваше приложение для Android так же, как и приложение.
Android добавляет подтверждение SMS Как WhatsApp - Часть 1
Android добавляет подтверждение SMS Как WhatsApp - часть 2
![введите описание изображения здесь]()
В основном следующие шаги включают в себя проверку номера мобильного телефона
-
Номер мобильного телефона первого пользователя будет отправлен на наш сервер, где будет создана новая пользовательская строка.
-
Наш сервер запрашивает шлюз SMS для sms на мобильный номер с кодом подтверждения.
-
Шлюз SMS отправляет SMS-сообщение на пользовательское устройство с кодом подтверждения.
-
Код подтверждения будет отправлен обратно на наш сервер для проверки. Наш сервер проверяет его и активирует пользователя.