From c823c6f2a97989d60fe5aa0b1798f456726c8221 Mon Sep 17 00:00:00 2001 From: kroutony Date: Tue, 3 Mar 2020 17:44:44 +0800 Subject: [PATCH] done simple login/register flow --- app/Http/Controllers/Auth/LoginController.php | 24 +++++++++++++++++++ .../Controllers/Auth/RegisterController.php | 9 ++++++- app/Http/Controllers/HomeController.php | 1 - app/Providers/RouteServiceProvider.php | 2 +- resources/views/auth/login.blade.php | 5 +++- resources/views/home.blade.php | 10 +++++++- resources/views/layouts/app.blade.php | 7 +----- 7 files changed, 47 insertions(+), 11 deletions(-) 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 @@
-
{{ __('Login') }}
+
+
Login / Register
+
Enter your credential to login, if you are not a member, you will be registered automatically
+
diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 05dfca9..b14c986 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -13,8 +13,16 @@ {{ session('status') }}
@endif - + @if(session('registerd')) + + @endif + @auth You are logged in! + @else + You are guest! + @endauth
diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 7bcfd31..1630420 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -41,13 +41,8 @@ @guest - @if (Route::has('register')) - - @endif @else