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

Jenkins OIDC

Casdoor يمكنه استخدام بروتوكول OIDC كمزود هوية للاتصال بتطبيقات مختلفة. في هذا المثال، سنستخدم Jenkins لنوضح كيفية استخدام OIDC للاتصال بتطبيقاتك.

فيما يلي بعض الأسماء المستخدمة في التكوين:

  • CASDOOR_HOSTNAME: اسم النطاق أو عنوان IP حيث يتم نشر خادم Casdoor.

  • JENKINS_HOSTNAME: اسم النطاق أو عنوان IP حيث يتم نشر Jenkins.

الخطوة 1: نشر Casdoor و Jenkins

أولاً، قم بنشر Casdoor و Jenkins.

بعد نشر ناجح، تأكد من الآتي:

  1. قم بتعيين عنوان URL لـ Jenkins (إدارة Jenkins -> تكوين النظام -> موقع Jenkins) إلى JENKINS_HOSTNAME. عنوان URL لـ Jenkins

  2. تأكد من أنه يمكن تسجيل الدخول إلى Casdoor واستخدامه بشكل طبيعي.

  3. قم بتعيين قيمة origin لـ Casdoor (conf/app.conf) إلى CASDOOR_HOSTNAME. إعدادات Casdoor

الخطوة 2: تكوين تطبيق Casdoor

  1. أنشئ تطبيق Casdoor جديد أو استخدم واحدًا موجودًا.

  2. أضف عنوان URL لإعادة التوجيه: http://JENKINS_HOSTNAME/securityRealm/finishLogin إعداد تطبيق Casdoor

  3. أضف مزود الخدمة الذي تريده وقدم أي إعدادات إضافية.

ستحصل على قيمتين من صفحة إعدادات التطبيق: Client ID و Client secret. سنستخدم هذه القيم في الخطوة التالية.

افتح متصفحك المفضل وزر: http://CASDOOR_HOSTNAME/.well-known/openid-configuration لعرض تكوين OIDC لـ Casdoor.

الخطوة 3: تكوين Jenkins

أولاً، نحتاج إلى تثبيت مصادقة OpenId Connect لأن Jenkins لا يدعم OIDC بشكل أصلي.

بعد اكتمال التثبيت، اذهب إلى إدارة Jenkins -> تكوين الأمان العالمي. أمان Jenkins العالمي

نصيحة

تأكد من نسخ ملف config.xml الخاص بـ Jenkins احتياطيًا لاستعادته في حالة حدوث أي أخطاء في الإعداد.

  1. في قسم التحكم في الوصول، حدد Login with Openid Connect كـ مجال الأمان.

  2. حدد Client ID الملاحظ أعلاه في حقل Client ID.

  3. حدد Client secret الملاحظ أعلاه في حقل Client secret.

  4. في وضع التكوين، حدد Automatic configuration وأدخل http://CASDOOR_HOSTNAME/.well-known/openid-configuration كنقطة نهاية التكوين المعروفة. إعدادات Jenkins

    إذا تم نشر Casdoor محليًا، قد تحتاج إلى تحديد Manual configuration وتقديم المعلومات التالية:

    • عنوان URL لخادم الرموز: http://CASDOOR_HOSTNAME/api/login/oauth/access_token
    • عنوان URL لخادم المصادقة: http://CASDOOR_HOSTNAME/login/oauth/authorize
    • عنوان URL لخادم معلومات المستخدم: http://CASDOOR_HOSTNAME/api/get-account
    • النطاقات: address phone openid profile offline_access email التكوين اليدوي
  5. انقر على الإعدادات المتقدمة واملأ الآتي:

    • في حقل اسم المستخدم، حدد name.
    • في حقل الاسم الكامل، حدد displayName.
    • في حقل البريد الإلكتروني، حدد email.

    إعداد حقل معلومات المستخدم

  6. في قسم التفويض، فعّل خيار “يمكن للمستخدمين المسجلين القيام بأي شيء” وعطل خيار “السماح بالوصول القراءة المجهول”. يمكنك تكوين تفويض أكثر تعقيدًا لاحقًا، ولكن الآن، تحقق مما إذا كان OpenID يعمل بشكل صحيح.

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