عملية المصادقة #
يتم تأمين الطلبات إلى API عبر رمز وصول JWT. يجب توليد هذا الرمز باستخدام تدفق منح رمز التفويض OAuth v2.
الصورة أدناه تقدم ملخصا للعملية المتضمنة في توليد الرموز المطلوبة والحفاظ عليها على قيد الحياة:

يرجى الرجوع إلى الروابط أدناه للحصول على معلومات تقنية مفصلة وأمثلة على كود المنح في قانون التفويض:
للتقدم في الخطوات التالية، ستحتاج إلى:
- Request_URL Client_ID & Client_Secret (سيتم تزويدك بهذه عند طلب API access)
- تسجيل دخول المستخدم ل~.Dimensions.~ بوابة الموزعين للموافقة على التفويض.
tip
إذا واجهت مشاكل في أي مرحلة وتحتاج إلى مساعدة، يرجى التواصل معنا على [email protected] أو الاتصال بنا على (+1) 480 207 7920.
1. طلب التفويض #
الخطوة الأولى هي طلب التفويض. قم بإنشاء URL يحتوي على العناصر أدناه:
- Client_Id: يتم توفير client_id عند طلب الوصول الأول إلى API.
- Response_Type: استخدم "code".
- State: قدم حالة يمكن استخدامها لتحديد إعادة التوجيه
- Redirect_URI: هذا يحدد إعادة التوجيه URL الذي يستخدم بعد إصدار رمز. الإعداد الافتراضي هو https://127.0.0.1:8000.
- Scope: هذه قائمة النطاقات التي يجب توفيرها عند طلب رمز. يجب ضبطها على "openid offline_access inboarding".
بمجرد تقديم طلب التفويض، ستعرض لك شاشة تسجيل الدخول لملف ~.Dimensions.~ بوابة الموزعين.
يجب الآن تمرير إعادة التوجيه URL برمز 'تصديق' يمكن استخدامه في الخطوة 2.
مثال على الطلب
\/connect/authorize?client_id=987654&response_type=code&state=5ca75bd30&redirect_uri=https%3A%2F%2Fexample.com٪2Fauth&scope=open٪20id٪20offline_access٪20onboarding2. طلب الوصول وتحديث الرموز #
يجب الآن استبدال 'رمز التصديق' برموز الوصول والتحديث - https://login.xarios.cloud/connect/token.
- Access Token، المستخدم للوصول إلى ميزات API وتنفيذ طلبات الانضمام إلى الخدمة.
- Refresh Token، يستخدم لإنشاء رموز وصول مستمرة
يمكن القيام بذلك عن طريق طلب POST إلى خادم التفويض الذي يحتوي على العناصر التالية:
- Code: رمز المصادقة الذي تم جمعه في الخطوة 1.
- Grant_Type: ضبطه على authorization_code. (وفقا لمواصفات https://developer.okta.com/blog/2018/04/10/oauth-authorization-code-grant-type).
- Client_Id: يتم توفير client_id عند طلب الوصول الأول إلى API.
- Client_Secret: يتم توفير client_secret عند طلب الوصول الأول API.
- Redirect_URI: هذا يحدد إعادة التوجيه URL الذي يستخدم بعد إصدار رمز. الإعداد الافتراضي هو https://127.0.0.1:8000.
مثال على الطلب
\/connect/token HTTP/1.1
نوع المحتوى: application/x-www-form-urlencoded
مدة المحتوى: xx
code=98765&grant_type=code&client_id=123456&client_secret=987654321&redirect_uri=https%3A%2f%2fexample.com٪2fauthيقوم خادم المصادقة بالتحقق من صحة الطلب ويرد برمز وصول ورمز تحديث:
مثال على الرد
{\
"access_token": "AYjcyMzY3ZDhiNmJkNTY",\
"refresh_token": "RjY2NjM5NzA2OWJjuE7c",\
"token_type": "حامل"،\
"تنتهي صلاحيتها": 5400\
}\في هذه المرحلة يجب أن تكون بحوزتك كل من رموز الوصول والتحديث. يمكن استخدام رمز الوصول لتنفيذ طلبات الانضمام API حسب الحاجة.
للحصول على معلومات حول استخدام API، يرجى الرجوع إلى API Reference.
3. تحديث رمز الوصول #
يتم تعيين عمر رمز الوصول إلى ساعة واحدة. بعد هذا الوقت، سيحتاج إلى إنشاء رمز وصول جديد باستخدام رمز التحديث.
لتجنب الحاجة لأي تفاعل مستخدم لإنشاء رمز وصول جديد، يستخدم رمز التحديث. يمكن استخدام رمز التحديث لطلب رمز وصول جديد عندما ينتهي صلاحيته الأصلي.
يمكن القيام بذلك عن طريق طلب POST إلى خادم التفويض الذي يحتوي على العناصر التالية (وهذا هو نفس الخطوة 2 لكنه يستخدم Refresh Token بدلا من Coth Code):
- Refresh_Token: مجموعة refresh_token المخزنة في الخطوة 2.
- Grant_Type: استخدم "refresh_token".
- Client_Id: يتم توفير client_id عند طلب الوصول الأول إلى API.
- Client_Secret: يتم توفير client_secret عند طلب الوصول الأول API.
مثال على الطلب
\/connect/token HTTP/1.1
نوع المحتوى: application/x-www-form-urlencoded
مدة المحتوى: xx
refresh_token=RjY2NjM5NzA2OWJjuE7c&grant_type=refresh_token&client_id=123456&client_secret=987654321info
إضافة offline_access إلى النطاق عند طلب التفويض في عملية الخطوة 1 سيؤدي إلى إنشاء رمز تحديث مع رمز الوصول الأولي.
warning
تنتهي صلاحية رموز التحديث إذا لم تستخدم لمدة 90 يوما. سيستمر وقت الانتهاء في إعادة تعيين إلى 90 يوما في كل مرة يستخدم فيها رمز التحديث.
إلغاء الرموز #
إذا تم اختراق الرمز، فلا يمكن إلغاء رمز الوصول لكن رمز التحديث يمكن إلغاؤه. تواصل مع الدعم فورا إذا حدث ذلك أو قم بتعطيل REST API عبر بوابة الموزعين.