الانتقال إلى المحتوى
Identity

التحقق المركزي من الهوية (Identity)

الهوية والوصول

تحقق مركزي من الهوية وإصدار للرموز على أساس OAuth وOpenID Connect. الأدوار والصلاحيات غير موجودة هنا عمدًا، وهي باقية في وحدة المستخدمين والصلاحيات.

المجال
البنية التحتية للمنصة / التحقق من الهوية
العملاء المستهدفون
البنوك والمؤسسات المالية التي لديها لوحة إدارة وتطبيق عميل معًا؛ والفرق التقنية التي تضيف خدمات جديدة إلى المنصة
القدرات الرئيسية
الدخول متعدد القنوات (الإدارة/الجوال/API)، MFA (OTP/TOTP/PIN/Passkey)، JWT بتوقيع غير متماثل، التحقق من الهوية بين الخدمات (S2S)، تدوير Refresh Token، مفتاح API بنطاق مسار

Identity هي البنية التحتية المركزية للتحقق من الهوية في المنصة كلها. وقد بُنيت هذه الخدمة على معيار OAuth 2.0 وOpenID Connect (باستخدام OpenIddict) ولها مسؤولية واحدة: تحديد هوية المستخدم وإصدار الرموز (tokens). وقد فُصلت إدارة الأدوار والصلاحيات عنها عمدًا وأُسندت إلى خدمة UserCompanyManagement، ولهذا تبقى Identity خفيفة وقابلة للنشر المستقل وقابلة للاستبدال.

تُوقَّع الرموز الصادرة بتوقيع غير متماثل RS256 وبالمفتاح الخاص المخصص لهذه الخدمة، وتتاح عبر JWKS لباقي الخدمات (وبخاصة Gateway) ليجري التحقق من الصحة دون اتصال مباشر بـ Identity. وإلى جانب دخول المستخدمين من البشر، تملك Identity قناة منفصلة للتحقق من الهوية بين الآلات (S2S) بنوع المنح (grant) client_credentials، تتصل بها عشرات الخدمات المصغّرة في المنصة بعضها ببعض، كل منها بعميل (client) خاص (مثل mic.jobspider.s2s أو mic.apigateway.s2s) ونطاق (scope) محدود، دون تدخل مستخدم بشري.

يُدعم الدخول عبر عدة قنوات: لوحة الإدارة (اسم المستخدم/كلمة المرور)، وتطبيق العميل على الجوال بمعرّف X-Client-Id (ويغطي كلمة المرور وPIN وOTP وPasskey/WebAuthn وTOTP)، ومفاتيح API للوصول البرمجي بنطاق مسار (route scope) محدد. ويُسجَّل كل دخول ناجح وفاشل، وتدوير Refresh Token، والأحداث الأمنية، في جداول مخصصة، ليكون التدقيق وكشف هجمات brute-force ممكنًا.

والمعنى العملي لمشترٍ مؤسسي أو بنك أن نواة الدخول لجميع التطبيقات (اللوحة الداخلية، وتطبيق العميل، والاتصال بين الخدمات) لها مصدر واحد قابل للتدقيق، بدلًا من تنفيذات متفرقة في كل خدمة.

القدرات والإمكانات الرئيسية

  • الدخول متعدد القنوات

    اسم المستخدم وكلمة المرور للوحة الإدارة، والجوال أو الرقم الوطني لتطبيق العميل، وتحديد العميل بـ X-Client-Id، كلها من نقطة دخول واحدة.

  • التحقق متعدد العوامل (MFA)

    OTP وTOTP وPIN وPasskey/WebAuthn كطرق بديلة أو مكملة لكلمة المرور، مع اكتشاف تلقائي للطرق المفعّلة لكل مستخدم.

  • تدوير Refresh Token والقائمة السوداء

    كل استخدام لـ Refresh Token يُبطل الرمز السابق ويُصدر رمزًا جديدًا؛ ويُطبَّق تسجيل الخروج (logout) والخروج الشامل (logout-all) بفحص على مستويين في Redis.

  • التوقيع غير المتماثل لـ JWT (RS256)

    المفتاح الخاص موجود في Identity فقط؛ وتتحقق باقي الخدمات من الرمز بالمفتاح العام (JWKS) فقط، دون اتصال متزامن بـ Identity.

  • التحقق من الهوية بين الخدمات (S2S)

    تتصل كل خدمة مصغّرة بالخدمات الأخرى بـ client_credentials ونطاق (scope) خاص بها؛ والتحقق الصارم من issuer/audience يمكن تشغيله وإيقافه.

  • مفتاح API بنطاق مسار

    للوصول البرمجي (integration) يُصدر مفتاح API يمكن حصره ببادئات مسار محددة (مثل /api/lendtech/ فقط).

  • الحماية من brute-force وتسجيل الأحداث الأمنية

    حد لمحاولات الدخول الفاشلة، وتتبع جلسة الجهاز، وتسجيل كامل للأحداث الأمنية لأغراض التدقيق.

  • استجابة متعددة الشركات عند الدخول

    عند الدخول تُعاد قائمة جميع الشركات التي ينتمي إليها المستخدم مع دور كل منها، ليجري اختيار الشركة في طبقة الواجهة الأمامية.

القيمة للأعمال

يتيح الفصل بين التحقق من الهوية وإدارة الوصول تغيير سياسات الدخول أو تشديدها (مثل جعل MFA إلزاميًا) دون المساس بمنطق باقي الخدمات. ويجعل التوقيع غير المتماثل للرموز عشرات الخدمات قادرة على التحقق من صلاحية كل طلب بصورة مستقلة في بضعة ميلي ثانية، ودون اتصال شبكي إضافي بـ Identity؛ وهذا التصميم يؤثر مباشرة في أداء المنصة كلها واستقرارها تحت الحمل. ومعنى قناة S2S الآمنة أن تسرّب معلومات أو عطلًا في خدمة واحدة لا يفتح طريق الدخول إلى الخدمات الأخرى، لأن لكل اتصال بين الآلات نطاقه المحدود الخاص.

سيناريوهات الاستخدام

  • بنك أو مؤسسة مالية لديها لوحة تشغيلية للموظفين وتطبيق جوال للعميل، وتريد أن يستخدم كلاهما بنية دخول واحدة آمنة وقابلة للتدقيق.
  • إضافة خدمة مصغّرة جديدة إلى المنصة تحتاج إلى الاتصال بالخدمات الأخرى بنطاق محدود ودون تدخل بشري.
  • مؤسسة تحتاج، للتكامل مع أنظمة خارجية، إلى مفتاح API بصلاحية محدودة بمسارات محددة، دون كشف بيانات اعتماد مستخدم حقيقي.
  • قطع وصول جميع جلسات مستخدم (مثلًا بعد الاشتباه في تسرّب كلمة المرور) بعملية logout-all واحدة.
Get in Touch

شاهدوا هذه الوحدة على بيانات تجريبية

في الجلسة التعريفية نستعرض سيناريوهات مؤسستك على النسخة التجريبية من دارا، ونجيب عن أسئلة فريقيك التقني والمالي.