diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 18a0d08..df519a6 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -4,6 +4,8 @@ namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use App\Providers\RouteServiceProvider; +use App\User; +use Illuminate\Http\Request; use Illuminate\Foundation\Auth\AuthenticatesUsers; class LoginController extends Controller @@ -37,4 +39,26 @@ class LoginController extends Controller { $this->middleware('guest')->except('logout'); } + + public function login(Request $request) + { + // Validate request fields + $this->validateLogin($request); + + // Find existed user by email + $requestEmail = $request->get('email'); + $existedUser = User::where('email', $requestEmail)->first(); + + if($existedUser) { // Login procedure + if ($this->attemptLogin($request)) { + return $this->sendLoginResponse($request); + } else { + $this->incrementLoginAttempts($request); + return $this->sendFailedLoginResponse($request); + } + } else { // Register procedure + $registerController = app(RegisterController::class); + return $registerController->register($request); + } + } } diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 2ec584c..fec4173 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -6,6 +6,7 @@ use App\Http\Controllers\Controller; use App\Providers\RouteServiceProvider; use App\User; use Illuminate\Foundation\Auth\RegistersUsers; +use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; @@ -51,7 +52,7 @@ class RegisterController extends Controller { return Validator::make($data, [ 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], - 'password' => ['required', 'string', 'min:8', 'confirmed'], + 'password' => ['required', 'string', 'min:8'], ]); } @@ -68,4 +69,10 @@ class RegisterController extends Controller 'password' => Hash::make($data['password']), ]); } + + protected function registered(Request $request, $user) + { + $request->session()->flash('registerd', true); + return redirect($this->redirectPath()); + } } diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 7cbc2c3..3642f5d 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -13,7 +13,6 @@ class HomeController extends Controller */ public function __construct() { - $this->middleware('auth'); } /** diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index 527eee3..269fabb 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -21,7 +21,7 @@ class RouteServiceProvider extends ServiceProvider * * @var string */ - public const HOME = '/home'; + public const HOME = '/'; /** * Define your route model bindings, pattern filters, etc. diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index c12b97e..31d126d 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -5,7 +5,10 @@