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.
انقر على العملاء في القائمة ثم انقر على إنشاء للذهاب إلى صفحة إضافة عميل. املأ الحقول على النحو التالي:
- معرف العميل:
http://localhost:8000/api/acs
- سيكون هذا هو معرف كيان SP المستخدم في تكوين Casdoor لاحقًا. - بروتوكول العميل:
saml
. - نقطة نهاية SAML للعميل:
http://localhost:8000/api/acs
- هذا العنوان URL هو المكان الذي تريد أن يرسل إليه خادم Keycloak طلبات واستجابات SAML. عادةً، تمتلك التطبيقات عنوان URL واحد لمعالجة طلبات SAML. يمكن تعيين عناوين URL متعددة في علامة التبويب الإعدادات للعميل.
انقر على حفظ. هذا الإجراء ينشئ العميل ويأخذك إلى علامة التبويب الإعدادات.
التالي هي جزء من الإعدادات:
- الاسم -
Casdoor
. هذا يستخدم فقط لعرض اسم ودي لمستخدمي Keycloak في واجهة مستخدم Keycloak. يمكنك استخدام أي اسم تفضله. - مُفعّل - اختر
on
. - تضمين بيان التوثيق - اختر
on
. - توقيع الوثائق - اختر
on
. - توقيع البيانات - اختر
off
. - تشفير البيانات - اختر
off
. - مطلوب توقيع العميل - اختر
off
. - فرض تنسيق معرف الاسم - اختر
on
. - تنسيق معرف الاسم - اختر
username
. - عناوين URI لإعادة التوجيه الصالحة - أضف
http://localhost:8000/api/acs
. - عنوان URL الرئيسي لمعالجة SAML -
http://localhost:8000/api/acs
. - تكوين نقطة نهاية SAML بدقة عالية
- عنوان URL لخدمة استهلاك التأكيد POST Binding -
http://localhost:8000/api/acs
. - عنوان URL لخدمة استهلاك التأكيد Redirect Binding -
http://localhost:8000/api/acs
.
- عنوان URL لخدمة استهلاك التأكيد POST Binding -
حفظ التكوين.
إذا كنت ترغب في توقيع طلب التوثيق، يجب تفعيل خيار مطلوب توقيع العميل وتحميل الشهادة التي قمت بإنشائها بنفسك. المفتاح الخاص والشهادة المستخدمة في 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. اختر المزود الذي أضفته للتو وانقر على زر حفظ.
التحقق من التأثير
اذهب إلى التطبيق الذي قمت بتكوينه للتو وستجد أيقونة Keycloak على صفحة تسجيل الدخول.
انقر على الأيقونة وستتم إعادة توجيهك إلى صفحة تسجيل الدخول إلى Keycloak. بعد التوثيق الناجح، ستتمكن من تسجيل الدخول إلى Casdoor.