التخطي إلى المحتوى الرئيسي

Keycloak

نظام Keycloak من JBoss هو نظام إدارة هوية مفتوح المصدر ومستخدم على نطاق واسع يدعم التكامل مع التطبيقات عبر SAML و OpenID Connect. يمكنه أيضًا العمل كوسيط هوية بين مزودين آخرين مثل LDAP أو مزودي SAML الآخرين والتطبيقات التي تدعم SAML أو OpenID Connect.

إليك مثالًا على كيفية تكوين إدخال عميل جديد في Keycloak وتكوين Casdoor لاستخدامه للسماح بتسجيل دخول UI بواسطة مستخدمي Keycloak الذين يتم منحهم الوصول عبر تكوين Keycloak.

تكوين Keycloak

لهذا المثال، دعونا نقوم بالاختيارات والافتراضات التالية للتكوين:

  • افترض أنك تشغل Casdoor في وضع التطوير محليًا. واجهة مستخدم Casdoor متاحة على http://localhost:7001 والخادم متاح على http://localhost:8000. استبدل بالعنوان URL المناسب حسب الحاجة.
  • افترض أنك تشغل Keycloak محليًا. واجهة مستخدم Keycloak متاحة على http://localhost:8080/auth.
  • استنادًا إلى ذلك، سيكون عنوان URL لـ SP ACS لهذا التوزيع هو: http://localhost:8000/api/acs.
  • سيستخدم معرف كيان SP نفس العنوان URL: http://localhost:8000/api/acs.

يمكنك استخدام العالم الافتراضي أو إنشاء عالم جديد.

إضافة عالم Keycloak

عالم Keycloak

إضافة إدخال عميل في Keycloak

معلومات

لمزيد من التفاصيل حول عملاء Keycloak، راجع وثائق Keycloak.

انقر على العملاء في القائمة ثم انقر على إنشاء للذهاب إلى صفحة إضافة عميل. املأ الحقول على النحو التالي:

  • معرف العميل: http://localhost:8000/api/acs - سيكون هذا هو معرف كيان SP المستخدم في تكوين Casdoor لاحقًا.
  • بروتوكول العميل: saml.
  • نقطة نهاية SAML للعميل: http://localhost:8000/api/acs - هذا العنوان URL هو المكان الذي تريد أن يرسل إليه خادم Keycloak طلبات واستجابات SAML. عادةً، تمتلك التطبيقات عنوان URL واحد لمعالجة طلبات SAML. يمكن تعيين عناوين URL متعددة في علامة التبويب الإعدادات للعميل.

إضافة عميل Keycloak

انقر على حفظ. هذا الإجراء ينشئ العميل ويأخذك إلى علامة التبويب الإعدادات.

التالي هي جزء من الإعدادات:

  1. الاسم - Casdoor. هذا يستخدم فقط لعرض اسم ودي لمستخدمي Keycloak في واجهة مستخدم Keycloak. يمكنك استخدام أي اسم تفضله.
  2. مُفعّل - اختر on.
  3. تضمين بيان التوثيق - اختر on.
  4. توقيع الوثائق - اختر on.
  5. توقيع البيانات - اختر off.
  6. تشفير البيانات - اختر off.
  7. مطلوب توقيع العميل - اختر off.
  8. فرض تنسيق معرف الاسم - اختر on.
  9. تنسيق معرف الاسم - اختر username.
  10. عناوين URI لإعادة التوجيه الصالحة - أضف http://localhost:8000/api/acs.
  11. عنوان URL الرئيسي لمعالجة SAML - http://localhost:8000/api/acs.
  12. تكوين نقطة نهاية SAML بدقة عالية
    1. عنوان URL لخدمة استهلاك التأكيد POST Binding - http://localhost:8000/api/acs.
    2. عنوان URL لخدمة استهلاك التأكيد Redirect Binding - http://localhost:8000/api/acs.

حفظ التكوين.

تكوين عميل Keycloak

نصيحة

إذا كنت ترغب في توقيع طلب التوثيق، يجب تفعيل خيار مطلوب توقيع العميل وتحميل الشهادة التي قمت بإنشائها بنفسك. المفتاح الخاص والشهادة المستخدمة في Casdoor، token_jwt_key.key و token_jwt_key.pem، موجودان في دليل الكائن. في Keycloak، تحتاج إلى النقر على علامة التبويب المفاتيح، ثم النقر على زر استيراد، اختر تنسيق الأرشيف كـ شهادة PEM، وقم بتحميل الشهادة.

انقر على علامة التبويب التثبيت.

لـ Keycloak <= 5.0.0، اختر خيار التنسيق - SAML Metadata IDPSSODescriptor وانسخ البيانات الوصفية.

لـ Keycloak 6.0.0+، اختر خيار الصيغة - ملفات Mod Auth Mellon وانقر على تحميل. قم بفك ضغط الملف .zip المحمّل، وابحث عن idp-metadata.xml، وانسخ البيانات الوصفية.

تحميل البيانات الوصفية

نسخ البيانات الوصفية

التكوين في Casdoor

إنشاء مزود جديد في Casdoor.

اختر الفئة كـ SAML، والنوع كـ Keycloak. انسخ محتوى البيانات الوصفية والصقه في حقل البيانات الوصفية. سيتم توليد قيم نقطة النهاية، IdP، وعنوان URL الصادر تلقائيًا بعد النقر على زر تحليل. أخيرًا، انقر على زر حفظ.

نصيحة

إذا قمت بتفعيل خيار مطلوب توقيع العميل في Keycloak وقمت بتحميل الشهادة، يرجى تفعيل خيار توقيع الطلب في Casdoor.

مزود Casdoor

تحرير التطبيق الذي تريد تكوينه في Casdoor. اختر المزود الذي أضفته للتو وانقر على زر حفظ.

إضافة مزود للتطبيق

التحقق من التأثير

اذهب إلى التطبيق الذي قمت بتكوينه للتو وستجد أيقونة Keycloak على صفحة تسجيل الدخول.

انقر على الأيقونة وستتم إعادة توجيهك إلى صفحة تسجيل الدخول إلى Keycloak. بعد التوثيق الناجح، ستتمكن من تسجيل الدخول إلى Casdoor.

تسجيل دخول Casdoor