بوّابة API¶
بوّابة API هي كتالوج خدمات + قياس عن بُعد، تُدار من نظام الإدارة. تُسجَّل كلّ خدمة معروضة (مثل وكيل eID) في الكتالوج، ثمّ تُمنح للتطبيقات بتخويل فردي لكلّ تطبيق.
كتالوج الخدمات¶
| الخدمة | المسار | النوع | التخويل |
|---|---|---|---|
| الدخول عبر SSO | /oauth2 |
أساسية (مدمجة) | تلقائي لجميع التطبيقات |
eid-sign |
/rp/sign |
إضافية | منح لكلّ تطبيق |
eid-proxy |
/rp/eid |
إضافية | منح لكلّ تطبيق |
eid-org-proxy |
/rp/eid-org |
إضافية | منح لكلّ تطبيق |
الدخول عبر SSO ليس ضمن الكتالوج
الدخول عبر SSO خدمة أساسية — تُقدَّم تلقائيًا لكلّ تطبيق مسجَّل عبر نطاقات OIDC الأساسية، فلا تحتاج إلى منح أو خانة اختيار. ولذلك لا تظهر ضمن خدمات البوّابة القابلة للمنح.
إدارة الخدمات (الإدارة)¶
من الإدارة ← البوّابة ← الخدمات يمكنك سرد الخدمات وإنشاؤها وتعديلها
وتفعيلها أو تعطيلها. وإنشاء خدمة يشتقّ تلقائيًا نطاقًا باسم svc:<الاسم>
حتى يمكن منحها للتطبيقات.
- تسري راية مُفعَّل أثناء التشغيل: يتحقّق مسار وكيل eID ممّا إذا كانت الخدمة
مفعَّلة، ويعيد
503عند تعطيلها.
منح خدمة لتطبيق¶
من الإدارة ← التطبيقات ← التطبيق ← الخدمات، امنح الخدمات عبر خانات
الاختيار. يضيف المنح svc:<الاسم> إلى النطاقات المسموح بها لعميل OAuth2 الخاصّ
بالتطبيق، ويزيله السحب. والأثر فوري — إذ يتحقّق الوكيل من المنح الحالي
للعميل.
التطبيق "open.gerege.mn"
├─ الدخول عبر SSO ......... تلقائي (مدمج)
├─ [x] eid-sign ........... svc:eid-sign
├─ [ ] eid-proxy .......... غير ممنوح ← /rp/eid ← 403
└─ [ ] eid-org-proxy ...... غير ممنوح ← /rp/eid-org ← 403
القياس عن بُعد¶
تسجّل البوّابة الطلبات الفعلية إلى /api (الطريقة، والمسار، والحالة، وزمن
الاستجابة) وتعرضها في الإدارة ← البوّابة ← نظرة عامة / السجلّات.
إضافة خدمة وكيل جديدة (للمطوّرين)¶
اتّبع هذا النمط لإضافة خدمات داخلية أخرى إلى البوّابة وإدارتها من لوحة الإدارة:
- أضِف صفًّا في
gateway_services(عبر migration) — الاسم والمسار والوسوم. - تحقّق من مفتاح التشغيل في المسار عبر
gatewayUC.ServiceEnabled(name). - تحقّق من منح
svc:<الاسم>في وسيط OAuth. - أضِف مسارًا عامًّا في nginx (
/rp/<الاسم>/← الواجهة الخلفية).