Bläddra i källkod

Finished coding login process

tyson 1 år sedan
förälder
incheckning
2d53130961
3 ändrade filer med 27 tillägg och 6 borttagningar
  1. 12 3
      app/Http/Controllers/AuthController.php
  2. 13 3
      resources/views/shared/layout/nav.blade.php
  3. 2 0
      routes/web.php

+ 12 - 3
app/Http/Controllers/AuthController.php

@@ -38,14 +38,23 @@ class AuthController extends Controller
     {
         $validated = request()->validate([
             'email' => 'required|email',
-            'password' => 'required|confirmed|min:5|max:40'
+            'password' => 'required|min:5|max:40'
 
         ]);
 
         if(auth()->attempt($validated))
         {
-
+            $request->session()->regenerate();
+            return redirect()->route('ideas.index')->with('success', 'Login successful!');
         }
-        return redirect()->route('ideas.index')->with('success', 'Registration successful!')->withInput();
+        return redirect()->route('ideas,login')->withErrors(['email' => 'Wrong email or password.']);
+    }
+
+    public function logout(Request $request)
+    {
+        auth()->logout();
+        $request->session()->invalidate();
+        $request->session()->regenerateToken();
+        return redirect()->route('ideas.index')->with('success', 'Logout successful!');
     }
 }

+ 13 - 3
resources/views/shared/layout/nav.blade.php

@@ -8,15 +8,25 @@
         </button>
         <div class="collapse navbar-collapse justify-content-end" id="navbarNav">
             <ul class="navbar-nav">
+                @guest()
                 <li class="nav-item">
                     <a class="nav-link active" aria-current="page" href="/login">Login</a>
                 </li>
                 <li class="nav-item">
                     <a class="nav-link" href="/register">Register</a>
                 </li>
-                <li class="nav-item">
-                    <a class="nav-link" href="/profile">Profile</a>
-                </li>
+                @endguest
+                @auth()
+                    <li class="nav-item">
+                        <a class="nav-link" href="/profile">{{Auth::user()->email}}</a>
+                    </li>
+                    <li class="nav-item">
+                        <form action="{{route('logout')}}" method="post">
+                            @csrf
+                            <button class="nav-link" type="submit">Logout</button>
+                        </form>
+                    </li>
+                @endauth
             </ul>
         </div>
     </div>

+ 2 - 0
routes/web.php

@@ -33,6 +33,8 @@ Route::get('/login', [\App\Http\Controllers\AuthController::class, 'login'])->na
 
 Route::post('/login', [\App\Http\Controllers\AuthController::class, 'authenticate']);
 
+Route::post('/logout', [\App\Http\Controllers\AuthController::class, 'logout'])->name('logout');
+
 
 Route::delete('/ideas/{idea}', [\App\Http\Controllers\IdeaController::class, 'destroy'])->name('ideas.destroy');