Задать вопрос
@SM_ST

Авторизация пользователя по номеру телефона и смс коду?

Добрый день
Задача:
Сделать авторизацию по номеру телефона без пароля, то есть пользователь вводит пароль, ему на телефон идет код, если код верен, то авторизуем его в системе, если нет, то ошибку

на текущий момент реализовал так, но верно ли?

public function login(Request $request)
    {

        $sms = SmsCode::where('code', '=', $request->code)->where('is_check', '=', 0)->first();
        
        if (!$sms) return response()->json(['error' => false, 'message' => 'Неверный код']);

        $user = User::where('phone', '=', $sms->phone)->first();

        if (empty($user)) {
            if (!$sms) return response()->json(['error' => false, 'message' => 'Пользователь отсутствует']);
        }

        if(! $token = Auth::login($user)){
            return response()->json(['error' => 'Unauthorized'], 401);
        }

        $sms->is_check = 1;
        $sms->updated_at = Carbon::now();
        $sms->save();

        return $this->createNewToken($token);
    }
  • Вопрос задан
  • 2119 просмотров
Подписаться 1 Простой Комментировать
Ответ пользователя Sanes К ответам на вопрос (4)
Sanes
@Sanes
Такие вещи обычно делаются через Middleware. Есть же пример verified.
Ответ написан