دمج Discourse مع keycloak

أود دمج discourse مع keycloak هل هناك أي نصائح حول كيفية القيام بذلك. شكرا لك
مع خالص التقدير
نداسييسينجا

يدعم Keycloak بروتوكول OpenID Connect، لذا يمكنك دمجه معه باستخدام ملحق مصادقة OpenID Connect

إعجاب واحد (1)

قبل بضع سنوات، كتبت إضافة لـ Keycloak (مزود هوية) لتسجيل الدخول إلى Keycloak باستخدام واجهات برمجة تطبيقات Discourse للمصادقة. لست متأكدًا مما إذا كانت متوافقة مع التغييرات الأخيرة في Discourse SSO، ولكن إذا كنت بحاجة إلى هذا الجزء، فقد أتمكن من نشره في وقت ما.

@ldywicki سأكون ممتنًا

مرحباً،
لقد بحثت في Discourse Meta عدة مرات، لكنني لم أجد ما أبحث عنه (المناقشات الحالية إما لا تحتوي على إجابات، أو تبدو قديمة).

لدينا بالفعل Keycloak قيد التشغيل لإدارة المستخدمين لدينا (ونستخدمه، على سبيل المثال، للمصادقة على المستخدمين لتطبيقاتنا الخاصة).
الآن قمنا بإعداد مثيل Discourse ونود استخدام Keycloak كموفر SSO.

هل DiscourseConnect هو الشيء الصحيح الذي يجب استخدامه هنا؟ أم نحتاج بدلاً من ذلك (أو بالإضافة إلى ذلك) إلى إضافة لـ openid، أو SAML؟
ما الذي نحتاج إلى تكوينه في جانب Keycloak؟ هل هو مجرد تكوين قياسي، أم نحتاج إلى إضافة؟

شكراً مقدماً!
Gunnar

إعجاب واحد (1)

مرحباً @gschmid، أهلاً بك في Discourse Meta :wave:
أفضل ما يمكن فعله في هذه الحالة هو استخدام إضافة، ربما OAuth2 Basic أو Discourse SAML اعتمادًا على احتياجاتك المحددة.
أتركها لك أدناه:

في حال احتجت إلى مساعدة، سأكون سعيدًا بتقديمها :grinning_face_with_smiling_eyes:

مرحباً ألكسندر،

شكراً على الرد السريع.

إذن أنا لا أحتاج إلى DiscourseConnect على الإطلاق؟ ما الغرض منه إذن؟

يجب أن يحتوي خادم المصادقة الخاص بك (أو ربما واجهة برمجة التطبيقات API أو ما شابه) على عملية متوافقة مع Discourse Connect (مشروحة هنا)

لا يمتلك Keycloak دعمًا أصليًا في هذه الحالة، لذا يُنصح أكثر باستخدام أحد المكونات الإضافية المذكورة أعلاه.

أعلم وثائق DiscourseConnect، لكن لم أتمكن من تجميع الأجزاء معًا. بدافع الفضول فقط، ما هي خوادم المصادقة التي تدعم هذا مباشرةً؟

على أي حال، سأحاول الآن تشغيل المكون الإضافي (المكونات الإضافية) المقترحة. شكرًا مرة أخرى.

إعجاب واحد (1)

تم الانتهاء من الجزء الأول من العمل - GitHub - Code-House/keycloak-discourse: Integration between Keycloak and Discorse.. using Keycloak APIs to do so..
يحتوي هذا المستودع على الكود اللازم لجعل Keycloak يجلب معلومات الهوية من discourse باستخدام بروتوكول “Discourse Connect”.

إعجابَين (2)

Keycloak هو موفر هوية عام - فهو يوفر نقاط نهاية متوافقة مع OpenID Connect لمصادقة التطبيقات الخارجية. يمكنك إقران Keycloak مع Discourse باستخدام discourse-openid-connect plugin.
Discourse Connect مختلف قليلاً. على حد فهمي، فإنه يسمح بتفويض إدارة المستخدمين بالكامل إلى Keycloak، وهو ما قد لا تحتاجه في البداية.

ملاحظة، لقد قمت بدمج للسماح لـ Keycloak بالعمل مع Discourse كموفر هوية. مما أراه، سيكون من الممكن تنفيذ نقطة نهاية متوافقة مع Discourse Connect لـ Keycloak، ولكن هذه قصة أخرى. :wink:

3 إعجابات

يختلف Discourse Connect قليلاً. على حد فهمي، فإنه يسمح بتفويض إدارة المستخدمين بالكامل إلى Keycloak، وهو ما قد لا تحتاجه في البداية.

في الواقع، هذا هو بالضبط ما أود الحصول عليه، ولكن نظرًا لعدم وجود حل مباشر لذلك على ما يبدو، فإنني أجرب حظي مع OIDC-Plugin.

سأتمكن من توفير هذا النوع من التكامل لـ Keycloak. يتطلب ذلك توسيعًا لواجهة برمجة تطبيقات مختلفة داخل Keycloak (بروتوكول تسجيل الدخول). ذكرني في يوليو لإنجازه. :wink:

3 إعجابات

مرحباً @ldywicki، لقد قمت بتجميع أحدث إصدار من وحدة مزود هوية Keycloak، ولكن يبدو أنه غير متوافق مع أحدث إصدار من Discourse وأحدث إصدار من Keycloak. هل تعتقد أنه يمكنك تقديم تحديث لذلك؟ :blush:
شكراً لعملك!

مرحباً دانير،
سأتمكن من تحديث هذا الملحق، لكنني أحتاج إلى بعض الوقت. لقد أمسكت بي قبل الانتقال مباشرة، وبالتالي سأحتاج إلى بعض الوقت لاختبار ما يحدث مع Keycloak الأحدث.

@ldywicki
ما الذي يفعله Keycloak Spinup الخاص بك بشكل مختلف عن keycloak العادي؟

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

لا يمكنني العثور على سبب هذا. من فضلك ساعدني.