validate([ 'username' => 'required', 'password' => 'required', ]); $user = User::where('username', $request->username)->first(); if (! $user || ! Hash::check($request->password, $user->password)) { return response()->json([ 'success' => false, 'message' => 'Username atau password salah.' ], 401); } // Hapus token lama $user->tokens()->delete(); // Buat token baru $token = $user->createToken('auth_token')->plainTextToken; return response()->json([ 'success' => true, 'message' => 'Login berhasil', 'access_token' => $token, 'token_type' => 'Bearer', 'role' => $user->role, // Penting untuk redirect di frontend 'user' => [ 'name' => $user->name, 'username' => $user->username, ] ]); } public function logout(Request $request) { $request->user()->currentAccessToken()->delete(); return response()->json(['message' => 'Berhasil logout']); } }