عملاء OAuth2
استخدم هذا الموضوع من أجل إدارة عملاء الخادم إلى الخادم محددي النطاق.
قبل أن تبدأ
- استخدم الشركة الصحيحة وحساباً نشطاً مخولاً لهذا المسار.
أين تذهب
التكاملات ← عملاء OAuth2
الفئة المستهدفة
مالكو النشاط ومسؤولو الشركة النشطون المسؤولون عن التكاملات بين الخوادم.
الصلاحيات
- يمكن لمالكي الشركة ومسؤوليها النشطين إنشاء عملاء OAuth2 أو إلغاؤهم.
- تعامل مع كل سر عميل OAuth2 كسر خاص بالخادم؛ ولا تضعه أبداً في كود المتصفح أو تطبيقات الجوال أو التحكم بالمصدر أو السجلات أو بيانات الاستدعاء الراجع.
- يُعرض سر العميل مرة واحدة بعد الإنشاء. خزّنه فوراً في مدير أسرار على الخادم؛ وإذا فُقد أو انكشف فألغِ العميل وأنشئ بديلاً.
- استخدم أقل قدر من الصلاحيات: اختر فقط النطاقات التي يحتاجها التكامل.
الإجراءات
- إنشاء عميل OAuth2
- استخدم إجراء إنشاء عميل OAuth2 لدعم إدارة عملاء الخادم إلى الخادم محددي النطاق.
- إلغاء عميل OAuth2
- استخدم إجراء إلغاء عميل OAuth2 لدعم إدارة عملاء الخادم إلى الخادم محددي النطاق.
الحالات
- نشط
- السجل حالياً بحالة نشط.
- ملغى
- السجل حالياً بحالة ملغى.
سير العمل
- افتح عملاء OAuth2، وأنشئ عميلاً، واختر فقط النطاقات المطلوبة من catalog:write وanalytics:read وboost:read وanalytics:write وboost:write.
- انسخ سر العميل المعروض مرة واحدة إلى مدير أسرار على الخادم، ثم أغلق نافذة العرض.
- من خادمك، أرسل POST إلى https://api.crewlogix.app/v1/oauth/token مع grant_type=client_credentials ومعرّف العميل وسره ونطاقاته المعينة المفصولة بمسافات.
- استخدم رمز وصول Bearer الناتج ضمن نطاقاته المعينة فقط؛ وألغِ العميل واستبدله إذا انكشف سره.
- لا يستخدم تدفق client_credentials إعادة توجيه للمتصفح أو استدعاء OAuth راجعاً. هيئ أي استدعاء راجع منفصل لأحداث CrewLogix كرابط HTTPS عام ولا تضع بيانات اعتماد في محتواه.
- للتدوير المخطط، أنشئ عميلاً بديلاً وانشره أولاً، وتحقق من أن طلبات الرمز تستخدمه، ثم ألغِ العميل القديم.
- لطلب أول للقراءة فقط، عيّن analytics:read وحده وأرسل GET /v1/analytics/<vendor-id>/daily باستخدام access_token الناتج بصيغة Bearer. يجب أن يطابق معرّف المورّد شركة العميل؛ لا تُطلب معاملات استعلام.
- توقع استجابة تحليلات 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>"