У меня проблема с авторизацией при входе. Я уже использовал аутентификацию Laravel ранее (используя make:auth
), а затем я решил изменить свою собственную аутентификацию, и я получил это сообщение об ошибке:
Это моя конфигурация маршрута:
Route::get('/home', 'HomeController@index')->name('home');
Route::post('login', 'authController@logIn');
Route::get('logout', 'authController@weblogOut');
Route::get('login', 'authController@showLogInPage');
Route::post('check_login', 'authController@checkLoginForWeb');
Route::get('web_logout', 'authController@webLogOut');
Вот моя форма входа:
<form method="POST" action="{{ url('check_login') }}" aria-label="{{ __('Login') }}">
@csrf
<div class="form-group has-feedback">
<input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}"
name="email" placeholder="Email" value="{{ old('email') }}" required autofocus>
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input id="password" type="password"
class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password"
placeholder="Password" required>
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<div class="row">
<div class="col-xs-8">
<div class="checkbox icheck">
<label class="form-check-label" for="remember">
<input type="checkbox"> Remember Me
</label>
</div>
</div>
<!-- /.col -->
<div class="col-xs-4">
<button type="submit" class="btn btn-primary btn-block btn-flat">Sign In</button>
</div>
<!-- /.col -->
</div>
</form>
А вот функция logIn
и checkLoginForWeb
:
public function logIn(Request $request) {
try {
$validation = Validator::make($request->All(), [
'email' => 'required|email',
'password' => 'required|max:50'
]);
if ($validation->fails()) {
$error = $validation->getMessageBag()->getMessages();
return Response::json(['Error' => $error], 400);
}
$email = $request->all()['email'];
$password = $request->all()['password'];
$user = User::where('email', $email)->firstOrFail();
if (Hash::check($password, $user->password)) {
session()->flush();
session()->push('user', $user);
return redirect('home');
//return Response::json(["Success" => "Log In Successful"], 200);
}
throw new Exception();
} catch (Exception $exception) {
return Response::json(["Error" => "Login Failed"], 400);
}
}
Если я не включил необходимую функцию, сообщите мне об этом в разделе комментариев.