Как сделать регистрацию и авторизацию пользователей через мобильный номер?

Как сделать регистрацию и авторизацию пользователей через мобильный номер?
  • Вопрос задан
  • 16082 просмотра
Решения вопроса 1
@motcart
Для этого необходимо отправлять смс через какой-нибудь сервис с помощью их API. Либо самому слать смски каждому пользователю с обычного телефона (или автоматизировать это подключив телефон к компьютеру). Первый вариант, думаю, обойдется дешевле. В основном так и делают все.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Tirael78
необходимо:
1 подключиться к услуге рассылки СМС, наилучшее решение через существующий шлюз, например по России, мы после большого перебора остановились на smsc.ru (это не реклама), у них хороший api, цены в рынке.
2 Необходимо реализовать взаимодействие с api смс шлюза на своем сервере (в зависимости от выбора api).
3 На стороне сервера необходимо генерировать код подтверждения, к примеру набор из 4 или 6 цифр или букв, или иной комбинации. Сохранить связку пользователь - код подтверждения, чтобы иметь возможность сравнения в будущем.
4 используя api шлюза отправляете код подтверждения на номер пользователя.
5 абонент вводит код подтверждения и отправляет вам на сервер, любым реализованным вами механизмом.
6 получив под подтверждения, проверяете, что данному пользователю был отправлен именно этот код. Если данные совпали - авторизуете пользователя.

Некоторые советы по реализации:
1 установите срок жизни кода, это нужно для безопасности
2 введите ограничение на количество попыток ввода, опять же для безопасности
3 при взаимодействии с api шлюза, необходимо анализировать ответы на ваши запросы, скажем человек ввел не существующий номер телефона, ошибся, вам необходимо корректно обработать данную ситуацию, подобных моментом может быть достаточно много.
4 некоторые шлюзы (как например указанный мной выше) примут российский номер в формате 89 и так далее, но надо понимать что не факт что все шлюзы так поступят, правильный код России 7, и следовательно номер мобильного должен начинаться на 79, в других странах есть свои особенности, и это надо учитывать.
5 установите срок жизни СМС сообщения (если шлюз позволяет это в своем api) не более срока жизни кода на вашем сервере, к примеру человек вне зоны действия сети, и СМС придет к нему через 1 час, когда уже не будет актуальна, в итоге вы заплатите за бессмысленное СМС сообщение, если у вас много абонентов, в итоге может набежать большая сумма. А так, сообщение просто не будет отправлено и вы сэкономите деньги.

На самом деле там еше много нюансов, в зависимости от потребности вашего сервиса, но в общих чертах примерно так.
Ответ написан
Комментировать
dima9595
@dima9595
Junior PHP
Уточните вопрос, что именно нужно?! Вместо логина и пароля - номер телефона и пароль?
Или отправка смс на номер для авторизации?
Ответ написан
Комментировать
@mr_npts
Мы решили вопрос покупкой девайса SR Organizer. Штука недорогая, зато на себя берет все функции по работе с симкой и общается напрямую с сервером. К инету по WiFi подключается. В начале тоже о смартфоне думали, но это сильно сложнее и менее надежно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы