Как внедрить смс верификацию или OTP в laravel

Я — новый пользователь laravel, разрабатывающий систему, застрял в проверке пользователя с помощью SMS-сообщения, которое будет отправлено пользователю с кодом проверки, который будет использоваться пользователем для заполнения системы для проверки его номера.

-4

Решение

В основном, что вам нужно сделать, это создать UUID ( uniqid() ) или любой случайный нет. и сохранить его в базе данных с идентификатором пользователя.

Для отправки SMS существует несколько служб. Ниже приведены некоторые надежные услуги и цены также доступны

https://aws.amazon.com/sns/

https://cloud.google.com/appengine/docs/standard/php/sms/twilio

Вы можете использовать их или что угодно. Затем вы можете отправить ранее сгенерированный uuid или случайный номер. на телефон пользователя и попросите пользователя ввести код, который он получил в вашей форме.

Затем вы можете проверить, соответствует ли введенный ими код текущему пользователю. Если это так, разрешите им войти в систему.

Также важно, что вам нужно добавить промежуточное ПО OTP_requires для всех маршрутов, которые в нем нуждаются. Проверьте в сеансе, если значение OPT_Passed имеет значение true в сеансе. Если да, продолжайте. еще перенаправить на страницу запроса OPT.

0

Другие решения

Измените вашу таблицу так, чтобы в ней был столбец otp для хранения otp.

Генерация отп 4-6 длины.

function generateotp($len) {
$result = '';
for($i = 0; $i < $len; $i++) {
$result .= mt_rand(0, 9);
}
return $result;
}
$otp= generateotp(6);

Сохранить этот отп к таблице.

   $user->otp=$otp;
$user->save();

Отправьте этот otp на мобильный телефон пользователя через API провайдера.
Вы можете получить otp / транзакционный sms api от провайдера массовых смс.

например

http://xyz.xyz/api/send?user=id&apikey=apikey&sndr=senderid&mobile=mobile&text=$otp

Затем перенаправьте на страницу, где пользователь поставит otp. Сопоставьте введенный пользователем OTP с тем, что хранится в таблице. Установите для таблицы значение otp после проверки или через некоторое время.

Таким же образом вы также можете использовать otp over voice call.

0

По вопросам рекламы [email protected]