مرحباً بك في خادم OAuth
هذا الخادم يدعم بروتوكول OAuth 2.0:
البدء
لاستخدام خادم OAuth هذا، يرجى الاتصال بنا لطلب تطبيق OAuth.
يرجى تقديم وصف قصير للتطبيق الذي تقوم بإنشائه، بالإضافة إلى التفاصيل أدناه. لا تقلق إذا كنت غير متأكد - يمكننا استخدام الوصف الذي تقدمه للمساعدة.
- نوع العميل: عام أم سري؟
- نوع المنح: تفويض، بيانات اعتماد العميل، أم جهاز؟
- معرفات الموارد الموحدة (URIs) المسموح بإعادة التوجيه إليها.
- الموارد التي ترغب في الوصول إليها. يرجى استكشاف وثائق واجهة برمجة التطبيقات (API) الخاصة بنا، و واجهة برمجة تطبيقات GraphQL الخاصة بنا.
مثال (ترخيص)
3. استبدال رمز الترخيص برمز وصول
يحتاج المعالج الخاص بك في YOUR_REDIRECT_URI إلى تنفيذ الاتصال التالي:
POST https://auth.sesa-kraken.systems/token/
Content-Type: application/x-www-form-urlencoded
client_id=YOUR_CLIENT_ID&
client_secret=CLIENT_SECRET& # احذفه للعملاء العامين
grant_type=authorization_code&
code=AUTH_CODE&
redirect_uri=YOUR_REDIRECT_URI&
code_verifier=YOUR_CODE_VERIFIER
إذا كنت تنوي إجراء هذا الاتصال من الواجهة الأمامية، يجب أن يكون تطبيق OAuth عاماً ويتم حذف السر من الطلب.
إذا كنت تنوي إجراء هذا الاتصال من الواجهة الخلفية، يجب أن يكون تطبيق OAuth سرياً ويتم تضمين السر في الطلب.
مثال (بيانات اعتماد العميل)
1. تبادل بيانات الاعتماد للحصول على رمز وصول
POST https://auth.sesa-kraken.systems/token/
Authorization: Basic BASE64_ENCODED(client_id:client_secret)
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials
2. الوصول إلى المورد المحمي
GET https://api.sesa-kraken.systems/resource/
Authorization: YOUR_ACCESS_TOKEN
مثال (الجهاز)
2. تبادل رمز الجهاز للحصول على رمز وصول
أثناء قيام المستخدم بالتفويض، يجب على الجهاز محاولة الحصول على رمز وصول بشكل دوري (بمعدل يحدده interval بالثواني):
POST https://auth.sesa-kraken.systems/token/
Content-Type: application/x-www-form-urlencoded
client_id=YOUR_CLIENT_ID&device_code=DEVICE_CODE&grant_type=urn:ietf:params:oauth:grant-type:device_code
3. الوصول إلى المورد المحمي
GET https://api.sesa-kraken.systems/resource/
Authorization: YOUR_ACCESS_TOKEN
مثال (تبادل الرموز)
يتم دعم دلالات تفويض RFC 8693. هذا يعني أنك ستستخدم رمز بيانات اعتماد العميل في كل من ترويسة Authorization و actor_token، كما هو موضح أدناه.
1. استرد رمز وصول لتطبيق بيانات اعتماد العميل الخاص بك، كما هو موضح في مثال (بيانات اعتماد العميل).
2. بافتراض أن EXTERNAL_IDP_USER_ACCESS_TOKEN قد تم إصداره بواسطة موفر الهوية الخارجي الخاص بك، قم بإجراء استدعاء تبادل الرموز:
POST https://auth.sesa-kraken.systems/token
Authorization: YOUR_CLIENT_CREDENTIALS_ACCESS_TOKEN
Content-Type: application/x-www-form-urlencoded
grant_type="urn:ietf:params:oauth:grant-type:token-exchange"&
actor_token_type="urn:ietf:params:oauth:token-type:access_token"&
actor_token=YOUR_CLIENT_CREDENTIALS_ACCESS_TOKEN&
subject_token_type="urn:ietf:params:oauth:token-type:access_token"&
subject_token=EXTERNAL_IDP_USER_ACCESS_TOKEN
3. الوصول إلى المورد المحمي
GET https://api.sesa-kraken.systems/resource/
Authorization: YOUR_ACCESS_TOKEN