validate([ 'email' => ['required', 'email'], 'password' => ['required', 'string'], 'token_name' => ['nullable', 'string', 'max:100'], ]); $user = User::where('email', $validated['email'])->first(); if (!$user || !Hash::check($validated['password'], $user->password)) { return response()->json([ 'success' => false, 'message' => 'ایمیل یا رمز عبور اشتباه است.', ], 401); } // بررسی فعال بودن کاربر if (isset($user->is_active) && !$user->is_active) { return response()->json([ 'success' => false, 'message' => 'حساب کاربری شما غیرفعال است.', ], 403); } $tokenName = $validated['token_name'] ?? 'api-token'; $token = $user->createToken($tokenName)->plainTextToken; return response()->json([ 'success' => true, 'token' => $token, 'user' => [ 'id' => $user->id, 'name' => $user->name, 'email' => $user->email, ], ]); } /** * خروج و حذف توکن فعلی * POST /api/v1/auth/logout */ public function logout(Request $request) { $request->user()->currentAccessToken()->delete(); return response()->json([ 'success' => true, 'message' => 'خروج با موفقیت انجام شد.', ]); } }