| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
- namespace App\Http\Controllers;
- use App\Models\User;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Hash;
- class AuthController extends Controller
- {
- public function register()
- {
- return view('auth.register');
- }
- public function store()
- {
- $validated = request()->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!');
- }
- }
|