namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\User;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
class AuthController extends Controller
{
// تسجيل مستخدم جديد
public function register(Request $request)
{
$request->validate([
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
]);
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
]);
$token = $user->createToken('LaravelPassportAPI')->accessToken;
return response()->json(['token' => $token], 201);
}
// تسجيل الدخول
public function login(Request $request)
{
$credentials = $request->only('email', 'password');
if (Auth::attempt($credentials)) {
$user = Auth::user();
$token = $user->createToken('LaravelPassportAPI')->accessToken;
return response()->json(['token' => $token], 200);
} else {
return response()->json(['error' => 'Unauthenticated'], 401);
}
}
// الحصول على بيانات المستخدم
public function user()
{
return response()->json(Auth::user(), 200);
}
}
افتح ملف routes/api.php
وأضف المسارات الخاصة بالتسجيل وتسجيل الدخول: