session()->invalidate(); $request->session()->regenerateToken(); return redirect("/"); } public function register_page(Request $request) { return view("user.register"); } // endregion // region Form Submit public function authenticate(Request $request): \Illuminate\Http\RedirectResponse { $request->validate([ "username" => ["required"], "password" => ["required"], ]); $credentials = [ "password" => $request->post("password"), ]; if (str_contains($request->post("username"), "@")) { $credentials["email"] = $request->post("username"); } else { $credentials["name"] = $request->post("username"); } if (Auth::attempt($credentials, $request->post("remember", 0) == 1)) { $request->session()->regenerate(); return redirect()->intended(); } return back()->withErrors([ "username" => "无此用户", ]); } public function register(Request $request) { $request_payload = $request->validate([ "name" => ["required", "unique:users"], "email" => ["required", "email", "unique:users"], "password" => ["required"], ]); $user = new User(); $request_payload["password"] = Hash::make($request_payload["password"]); $user->fill($request_payload); $user->save(); return redirect(route("login")); } // endregion }