MIF_E31230820/app/Http/Controllers/AuthController.php

70 lines
1.9 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use App\Models\User; // Pastikan ini ditambahkan di atas
class AuthController extends Controller
{
// --- FITUR LOGIN ---
public function index()
{
return view('login');
}
public function authenticate(Request $request)
{
$credentials = $request->validate([
'email' => 'required|email',
'password' => 'required'
]);
if (Auth::attempt($credentials)) {
$request->session()->regenerate();
return redirect()->intended('/dashboard');
}
return back()->with('error', 'Email atau Password salah!');
}
// --- FITUR LOGOUT ---
public function logout(Request $request)
{
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect('/');
}
// --- FITUR REGISTRASI ---
public function register()
{
return view('register');
}
public function store(Request $request)
{
// 1. Validasi data yang diinput
$validatedData = $request->validate([
'name' => 'required|max:255',
'email' => 'required|email|unique:users', // Cek agar email tidak ganda
'password' => 'required|min:5|confirmed' // Harus ada konfirmasi password
]);
// 2. Acak/enkripsi password sebelum disimpan ke database
$validatedData['password'] = Hash::make($validatedData['password']);
// 3. Masukkan data ke tabel users
$user = User::create($validatedData);
// 4. Langsung login-kan otomatis setelah berhasil daftar
Auth::login($user);
// 5. Lempar ke dashboard
return redirect('/dashboard')->with('success', 'Registrasi berhasil! Selamat datang di Rice Leaf AI.');
}
}