validate([ 'name' => 'required|min:5|max:40', 'email' => 'required|email|unique:users,email', 'password' => 'required|confirmed|min:5|max:40' ]); $user = User::create([ 'name' => $validated['name'], 'email' => $validated['email'], 'password' => Hash::make($validated['password']) ]); return redirect()->route('ideas.index')->with('success', 'Registration successful!')->withInput(); } public function login(Request $request) { return view('auth.login'); } public function authenticate(Request $request) { $validated = request()->validate([ 'email' => 'required|email', '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,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!'); } }