عملاء OAuth2

استخدم هذا الموضوع من أجل إدارة عملاء الخادم إلى الخادم محددي النطاق.

قبل أن تبدأ

  • استخدم الشركة الصحيحة وحساباً نشطاً مخولاً لهذا المسار.

أين تذهب

التكاملات ← عملاء OAuth2

الفئة المستهدفة

مالكو النشاط ومسؤولو الشركة النشطون المسؤولون عن التكاملات بين الخوادم.

الصلاحيات

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

الإجراءات

إنشاء عميل OAuth2
استخدم إجراء إنشاء عميل OAuth2 لدعم إدارة عملاء الخادم إلى الخادم محددي النطاق.
إلغاء عميل OAuth2
استخدم إجراء إلغاء عميل OAuth2 لدعم إدارة عملاء الخادم إلى الخادم محددي النطاق.

الحالات

نشط
السجل حالياً بحالة نشط.
ملغى
السجل حالياً بحالة ملغى.

سير العمل

  1. افتح عملاء OAuth2، وأنشئ عميلاً، واختر فقط النطاقات المطلوبة من catalog:write وanalytics:read وboost:read وanalytics:write وboost:write.
  2. انسخ سر العميل المعروض مرة واحدة إلى مدير أسرار على الخادم، ثم أغلق نافذة العرض.
  3. من خادمك، أرسل POST إلى https://api.crewlogix.app/v1/oauth/token مع grant_type=client_credentials ومعرّف العميل وسره ونطاقاته المعينة المفصولة بمسافات.
  4. استخدم رمز وصول Bearer الناتج ضمن نطاقاته المعينة فقط؛ وألغِ العميل واستبدله إذا انكشف سره.
  5. لا يستخدم تدفق client_credentials إعادة توجيه للمتصفح أو استدعاء OAuth راجعاً. هيئ أي استدعاء راجع منفصل لأحداث CrewLogix كرابط HTTPS عام ولا تضع بيانات اعتماد في محتواه.
  6. للتدوير المخطط، أنشئ عميلاً بديلاً وانشره أولاً، وتحقق من أن طلبات الرمز تستخدمه، ثم ألغِ العميل القديم.
  7. لطلب أول للقراءة فقط، عيّن analytics:read وحده وأرسل GET /v1/analytics/<vendor-id>/daily باستخدام access_token الناتج بصيغة Bearer. يجب أن يطابق معرّف المورّد شركة العميل؛ لا تُطلب معاملات استعلام.
  8. توقع استجابة تحليلات 200 للشركة المصرح بها. التزم بـ expires_in، حالياً 900 ثانية؛ واحصل على رمز client_credentials آخر عند الحاجة. لا يُصدر رمز تحديث.

النتيجة المتوقعة

اقرأ الحالة المحفوظة الحالية في مساحة العمل بعد الإجراء المسموح؛ المساعدة لا تنفذ الإجراء ولا تتحقق منه.

استكشاف الأخطاء وإصلاحها

تعيد نقطة نهاية الرمز الخطأ invalid_client
تحقق من أن العميل نشط وأن سر العميل المعروض مرة واحدة صحيح؛ وألغِ العميل المفقود أو المكشوف واستبدله
تعيد نقطة نهاية الرمز invalid_scope أو يعيد طلب API الخطأ 403
استخدم فقط النطاقات المعينة للعميل النشط وأعد إنشاءه بأصغر مجموعة نطاقات مدعومة ومطلوبة
ظهر سر عميل OAuth2 في التحكم بالمصدر أو السجلات أو كود المتصفح أو بيانات الاستدعاء الراجع
ألغِ العميل المكشوف فوراً، وأزل القيمة المسربة، وأنشئ بديلاً، وخزّن سره على الخادم فقط
unsupported_grant_type
أرسل grant_type=client_credentials باستخدام طلب النموذج الموثق؛ هذا ليس تدفق رمز تفويض للمتصفح.

أمثلة للمطورين

طلب رمز المورّد

curl -X POST https://api.crewlogix.app/v1/oauth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "grant_type=client_credentials" \
  --data-urlencode "client_id=<client-id>" \
  --data-urlencode "client_secret=<client-secret>" \
  --data-urlencode "scope=analytics:read"

قراءة تحليلات الشركة

curl -X GET https://api.crewlogix.app/v1/analytics/<vendor-id>/daily \
  -H "Authorization: Bearer <access-token>"