only('email', 'password'); if (Auth::attempt($credentials)) { // Authentication passed return redirect()->intended('admin/home'); } return redirect()->route('login') ->withInput() ->withErrors(['email' => 'Invalid email or password']); } public function showRegistrationForm() { return view('auth.register'); } public function register(Request $request) { $request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:8|confirmed', ]); $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => bcrypt($request->password), ]); Auth::login($user); return redirect()->intended('/admin/home'); } public function showForgotPasswordForm() { return view('auth.forgot-password'); } public function sendResetPasswordLink(Request $request) { $request->validate([ 'email' => 'required|email', ]); $status = Password::sendResetLink($request->only('email')); return $status === Password::RESET_LINK_SENT ? redirect()->route('login')->with('status', __($status)) : back()->withErrors(['email' => __($status)]); } public function showResetPasswordForm($token) { return view('auth.reset-password', ['token' => $token]); } public function resetPassword(Request $request) { $request->validate([ 'token' => 'required', 'email' => 'required|email', 'password' => 'required|min:8|confirmed', ]); $status = Password::reset($request->only('email', 'password', 'password_confirmation', 'token'), function ($user, $password) { $user->forceFill([ 'password' => bcrypt($password), 'remember_token' => \Illuminate\Support\Str::random(60), ])->save(); // You can customize this logic based on your application's needs // For example, you can log in the user automatically after resetting the password // Auth::login($user); }); return $status === Password::PASSWORD_RESET ? redirect()->route('login')->with('status', __($status)) : back()->withErrors(['email' => __($status)]); } public function logout(Request $request) { Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect('/login')->withErrors(['error' => 'Logout Successfully.']); } }