validate(['email' => 'required|email']); $status = Password::sendResetLink($request->only('email')); return $status == Password::RESET_LINK_SENT ? back()->with('status', 'Link untuk mereset kata sandi telah dikirim ke email Anda.') : back()->withErrors(['email' => __($status)]); } public function showResetPasswordForm(Request $request, $token) { return view('auth.reset-password', ['token' => $token, 'email' => $request->email]); } public function resetPassword(Request $request) { $request->validate([ 'token' => 'required', 'email' => 'required|email', 'password' => 'required|confirmed|min:8', ]); $status = Password::reset( $request->only('email', 'password', 'password_confirmation', 'token'), function ($user, $password) { $user->forceFill([ 'password' => Hash::make($password), 'remember_token' => Str::random(60), // Reset remember token untuk keamanan ])->save(); } ); return $status == Password::PASSWORD_RESET ? redirect()->route('login')->with('status', 'Kata sandi Anda telah berhasil direset. Silakan login.') : back()->withInput($request->only('email')) ->withErrors(['email' => __($status)]); } }