pertama kita membuat data seeder taruh di
seeders/databaseseeder.php
<?php
namespace Database\Seeders;
use App\Models\User;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;
class DatabaseSeeder extends Seeder
{
public function run(): void
{
User::factory()->create([
'name'=> 'Muhammad Rois',
'email'=>'admin@gmail.com',
'password' => Hash::make('admin123')
]);
}
}
lalu jalankan perintah ini
php artisan migrate:fresh --seed
selanjutnya kita membuat AuthController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use App\Models\User;
class AuthController extends Controller
{
// Fungsi Login
public function login(Request $request)
{
$credentials = $request->validate([
'email' => 'required|email',
'password' => 'required'
]);
// Cek apakah email & password valid
if (!Auth::attempt($credentials)) {
return response()->json(['message' => 'Email atau password salah'], 401);
}
// Ambil user yang login
$user = Auth::user();
return response()->json([
'message' => 'Login berhasil',
'user' => $user
]);
}
// Fungsi Logout
public function logout(Request $request)
{
Auth::logout();
return response()->json(['message' => 'Logout berhasil']);
}
}
lalu membuat router api nya
Route::post('/login', [AuthController::class, 'login']);
Route::post('/logout', [AuthController::class, 'logout'])->middleware('auth');