Вход только с номером телефона без пароля - Laravel - PullRequest
1 голос
/ 25 февраля 2020

Я работаю в Laravel, до сих пор я создал два логина, используя guard. Сейчас я пытаюсь войти через Google с помощью социальной сети. Так что успешная аутентификация от Google, я получаю профиль пользователя. Таким образом, я могу получить идентификатор электронной почты пользователей. Теперь я хочу войти через тот же сторож с паролем.

'adminpanel' => [
            'driver' => 'session',
            'provider' => 'adminusers',
        ],
         'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],
    ]
'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\User::class,
        ],
'adminusers' => [
            'driver' => 'eloquent',
            'model' => App\VendorUser::class,
        ],
    ],

Так что есть какие-то хитрости для аутентификации, я много пробовал.

1 Ответ

0 голосов
/ 26 февраля 2020

Изменение функции дескриптора приложения / Http / Middleware / RedirectIfAuthenticated. php

public function handle($request, Closure $next, $guard = null)
{
    if (Auth::check()) {
        return redirect('/home');
    }

    return $next($request);
}

Изменение и переопределение функции входа в систему:

public function login(Request $request)
{
    $this->validate($request, [
        'mobile_no' => 'required|regex:/[0-9]{10}/|digits:10',            
    ]);

    $user = User::where('mobile_no', $request->get('mobile_no'))->first();

    // Check Condition Mobile No. Found or Not
    if($request->get('mobile_no') != $user->mobile_no) {
        \Session::put('errors', 'Your mobile number not match in our system..!!');
        return back();
    }        

    \Auth::login($user);

    return redirect()->route('home');
}

Добавить запись для mobile_no в ресурсах / views / auth / login.blade. php

<div class="form-group{{ $errors->has('mobile_no') ? ' has-error' : '' }}">
<label for="mobile_no" class="col-md-4 control-label">Enter Mobile No.</label>
<div class="col-md-6">
     <input id="mobile_no" type="text" class="form-control" name="mobile_no" value="{{ old('mobile_no') }}" required autofocus>
       @if ($errors->has('mobile_no'))
            <span class="help-block">
               <strong>{{ $errors->first('mobile_no') }}</strong>
            </span>
       @endif
</div>
</div>
...