> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://helpdesk.ggcircuit.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# 🔐 استخدام ggLeap كموفر OpenID Connect (OIDC)

## 🔐 استخدام ggLeap كموفّر OpenID Connect (OIDC)

يدعم ggLeap **OpenID Connect (OIDC)** للسماح للتطبيقات من جهات خارجية بمصادقة المستخدمين باستخدام حسابات ggLeap الخاصة بهم. يتيح هذا التكاملات مثل **"تسجيل الدخول عبر ggLeap"** للتطبيقات والمواقع والخدمات الشريكة.

يُبنى OIDC على أساس OAuth 2.0 ويسمح للتطبيقات بالتحقق الآمن من هوية المستخدم والحصول على معلومات الملف الشخصي الأساسية.

## 🧠 نظرة عامة

من خلال التكامل مع موفّر OIDC في ggLeap، يمكن للتطبيقات:

* السماح للمستخدمين بـ **تسجيل الدخول باستخدام حسابهم في ggLeap**
* تفعيل **المصادقة الموحدة (SSO)** عبر التطبيقات المدعومة
* استرجاع معلومات المستخدم مثل **البريد الإلكتروني والملف الشخصي وعضوية المجموعة**
* دعم **المصادقة الخاصة بمركز معين** عند الحاجة

تقوم التطبيقات بمصادقة المستخدمين عبر ggLeap وتتلقى **استجابة رمز** تؤكد الهوية والأذونات المطلوبة.

## 🌐 نقاط نهاية مُصدِر OIDC

يجب على التطبيقات استخدام **رابط URL المُصدِر** المناسب حسب البيئة.

| البيئة | رابط URL المُصدِر |
| ---- |
| الإنتاج | `https://api.ggleap.com/production/oidc` |
| بيتا | `https://api.ggleap.com/beta/oidc` |

بيانات اكتشاف OIDC ومفاتيح التوقيع العامة متاحة تلقائياً ضمن نقطة النهاية للمُصدِر. ستقوم معظم مكتبات OIDC باسترجاع هذا الإعداد تلقائياً.

## 🔑 معلومات التكامل المطلوبة

لكي تقوم بالتكامل مع ggLeap OIDC، سيتلقى مطور التطبيق بيانات الاعتماد التالية:

| المعامل | الوصف |
| ---- |
| **معرّف العميل** | معرّف فريد للتطبيق |
| **سر العميل** | مفتاح سري يُستخدم أثناء تبادل الرموز |
| **رابط/روابط إعادة التوجيه** | رابط/روابط رد الاتصال HTTPS حيث يُرسل ggLeap استجابات المصادقة |

يجب تكوين هذه القيم في إعدادات عميل OIDC الخاص بالتطبيق.

## 🔐 طلب المصادقة

تقوم التطبيقات بتشغيل عملية تسجيل الدخول بإرسال المستخدمين إلى **نقطة نهاية المصادقة** في ggLeap.

**نقطة النهاية**

```
{issuer}/connect/authorize
```

**مثال على طلب المصادقة**

```
{issuer}/connect/authorize
?client_id={client_id}
&redirect_uri={encoded_redirect_uri}
&response_type=code
&scope=openid%20email%20profile
&state=abc
&nonce=xyz
[&center_uuid={guid}]
```

### المعاملات

| المعامل | الوصف |
| ---- |
| `client_id` | معرّف العميل الصادر للتطبيق |
| `redirect_uri` | يجب أن يطابق رابط إعادة التوجيه المسجَّل بدقة |
| `response_type` | استخدم `code` لتدفق رمز المصادقة |
| `scope` | الأذونات المطلوبة |
| `state` | قيمة حالة التطبيق الاختيارية |
| `nonce` | قيمة أمان موصى بها |
| `center_uuid` | مطلوبة إذا كان التطبيق يدعم عدة مراكز |

## 🧾 الأذونات المتاحة

يمكن للتطبيقات طلب الأذونات التالية أثناء المصادقة.

| الأذن | الوصف |
| ---- |
| `openid` | مطلوبة لمصادقة OIDC |
| `email` | توفر عنوان بريد المستخدم الإلكتروني |
| `profile` | توفر معلومات الملف الشخصي الأساسية |
| `group` | تعيد معلومات مجموعة ggLeap للمستخدم |

## 🏢 المصادقة الخاصة بمركز معين

بعض التكاملات مرتبطة بـ **مركز ggLeap محدد**، بينما يدعم البعض الآخر **عدة مراكز**.

### تكاملات المراكز

يجب على التطبيقات التي تدعم مركزاً واحداً أن تتضمن:

```
center_uuid={guid}
```

في **طلب المصادقة**.

## 🔁 تبادل الرموز

بعد قيام المستخدم بتسجيل الدخول بنجاح، يعيد ggLeap توجيه المستخدم إلى التطبيق مع **رمز المصادقة**.

يقوم التطبيق بعد ذلك بتبديل هذا الرمز برموز باستخدام نقطة نهاية الرموز.

**نقطة النهاية**

```
{issuer}/connect/token
```

يجب استخدام **تدفق رمز المصادقة** القياسي في OAuth لهذه الخطوة.

## 🚪 تسجيل الخروج (إنهاء الجلسة)

يمكن للتطبيقات تسجيل خروج المستخدمين من جلسات ggLeap باستخدام نقطة نهاية تسجيل الخروج.

**نقطة النهاية**

```
{issuer}/connect/logout
```

### المعاملات

| المعامل | الوصف |
| ---- |
| `id_token_hint` | الرمز من جلسة تسجيل الدخول الأخيرة للمستخدم |
| `post_logout_redirect_uri` | رابط إعادة التوجيه الاختياري بعد تسجيل الخروج |

إذا تم توفير رابط إعادة توجيه صحيح والسماح به، سيتم إعادة توجيه المستخدم بعد تسجيل الخروج.

## ⚠️ مشاكل التكامل الشائعة

| المشكلة | الحل |
| ---- |
| عدم تطابق رابط إعادة التوجيه | تأكد من أن رابط إعادة التوجيه يطابق رابط URL المسجَّل بدقة |
| `center_uuid` مفقود | ضمّن المعامل للتطبيقات متعددة المراكز |
| فشل المصادقة | تأكد من بيئة المصدر الصحيحة (إنتاج مقابل بيتا) |
| عدم إكمال تسجيل الدخول | تأكد من أن التطبيق يستخدم تدفق رمز المصادقة |

## 🧪 اختبار التكامل الأساسي

للتحقق من أن التكامل يعمل:

1. قم بإنشاء طلب مصادقة باستخدام **معرّف العميل** و **رابط إعادة التوجيه** الخاص بك.
2. افتح رابط URL في المتصفح.
3. قم بتسجيل الدخول باستخدام حساب ggLeap.
4. تأكد من أن التطبيق يستقبل **رمز مصادقة** في رابط إعادة التوجيه.
5. بدّل الرمز باستخدام **نقطة نهاية الرموز**.

إذا نجح، سيستقبل التطبيق **رموز الوصول والهوية** التي تؤكد تسجيل دخول المستخدم.