انتقل إلى المحتوى

ترجمة آلية

تمت ترجمة هذه الصفحة تلقائيًا بواسطة الذكاء الاصطناعي وقد تحتوي على أخطاء. إذا كان هناك أي شيء غير واضح، يُرجى الرجوع إلى المصدر الإنجليزي.

المصدر الإنجليزي · الإبلاغ عن مشكلة في الترجمة

نموذج المصادقة

تقدم هذه الصفحة منطقة مرجع واجهة برمجة التطبيقات — السجل الميداني لمشروع pplx_export لواجهة برمجة التطبيقات الخاصة لـ Perplexity. الجمهور: المشرفون ومستخدمو هذا المشروع. تم التحقق من جميع نقاط النهاية عبر التقاط شبكة WebBridge + طلبات مباشرة موثقة بملفات تعريف الارتباط (يوليو 2026). يجب مزامنة أي تغيير أو إضافة إلى معرفة واجهة برمجة التطبيقات في هذه الصفحات (متطلب مستخدم صريح). آخر تحديث: 2026-07-23

تنقسم المنطقة المرجعية إلى: 1. نموذج المصادقة (هذه الصفحة) · 2. GraphQL (الاستعلامات المستمرة / APQ) · 3. نقاط نهاية REST (مجمعة حسب الغرض) · 4–5. هيكل الاستجابة ودلالات الأخطاء · 6–8. عناصر TBD، اكتشاف نقاط النهاية وخريطة الطريق — لتصميم النظام المحيط، راجع خريطة قراءة البنية.


1. نموذج المصادقة

1.1 جلسة ملفات تعريف الارتباط

  • تحتاج جميع طلبات واجهة برمجة التطبيقات فقط إلى ملف تعريف ارتباط جلسة المتصفح (لا حاجة لرمز CSRF؛ تم التحقق من عمل كل من GET و POST عبر الطلبات المباشرة).
  • ملف تعريف الارتباط الرئيسي: __Secure-next-auth.session-token (رمز جلسة الحساب النشط حاليًا).
  • Cloudflare موجود في المقدمة: cf_clearance/__cf_bm مرتبطان ببصمة TLS للمتصفح — تحصل طلبات curl العارية على 403؛ تمر الأداة مع Python urllib + ملفات تعريف الارتباط المستوردة من المتصفح (UA متنكر كـ Chrome سطح المكتب).

1.2 حسابات متعددة (اكتُشفت في 2026-07-20)

  • عندما يتم تسجيل دخول حسابات متعددة إلى نفس المتصفح، يحمل كل حساب ملف تعريف الارتباط __Secure-pplx.session.<user_id> الخاص به (النطاق www.perplexity.ai؛ القيمة تتقدم مع الاستجابات).
  • قيمة __Secure-next-auth.session-token = قيمة ملف تعريف الارتباط الخاص بالحساب النشط.
  • تبديل الحسابات على الويب = الانتقال إلى https://www.perplexity.ai/?pplx_account=<user_id>؛ يعيد الخادم كتابة الرمز النشط.
  • التبديل التلقائي من جانب الأداة (مُطبق في pplx_export): تعداد ملفات تعريف الارتباط __Secure-pplx.session.* للمتصفح، استبدال __Secure-next-auth.session-token بكل منها بدوره، وفحص /api/auth/session حتى يتطابق البريد الإلكتروني الهدف.
  • يُرجع GET /api/auth/linked-accounts accounts: [{user_id, email, display_name, subscription_tier, is_primary}]، لكن يُرجع قائمة الحسابات الكاملة فقط عندما يكون الحساب الأساسي نشطًا (فقط الحساب الحالي عندما يكون غير الأساسي نشطًا) — لذلك لا تعتمد الأداة عليه.
  • أمثلة الحسابات المسجلة (جدول الحسابات الحقيقي موجود في config.toml على مستوى المستخدم؛ العناصر النائبة موضحة هنا): A alice / alice@example.com / uid 00000000-0000-4000-8000-0000000000aa (Max)؛ B bob / bob@example.com / uid 00000000-0000-4000-8000-0000000000bb (Pro، أساسي).