نقاش حول دمج Keycloak مع SSO

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

لقد قرأت عن تكوين OpenID، ويقول البعض أنه يجب على المستخدمين تسجيل الدخول بشكل منفصل وإنشاء حساب منفصل في Discourse مع هذا الإعداد. هذا ليس بالضبط ما أبحث عنه.

هل هناك أي شيء يمكنني قراءته أو يجب أن أقرأه حول هذا الموضوع؟

تتمثل نيتي في إعداد Discourse و Keycloak في حاويات Docker منفصلة ومركبة، وأحتاج إلى مصادقة سلسة بينهما، بحيث أتمكن من إنشاء منشورات في Discourse باستخدام الواجهة الخلفية لـ API الخاص بي نيابةً عن المستخدم الذي سجل الدخول في تطبيق الواجهة الأمامية JavaScript الخاص بي، مع إدارة بيانات المستخدم بواسطة Keycloak.

أسهل حل قمت بتنفيذه للمستخدمين الذين يستخدمون Keycloak كواجهة هوية مؤسسية (IAM) الخاصة بهم هو إعداد دعم SAML في Discourse

إعداد SAML في Keycloak أمر مباشر نسبيًا

بدلاً من ذلك، يمكنك أيضًا الاتصال عبر OpenID Connect

للسماح للمستخدمين بتسجيل الدخول تلقائيًا باستخدام SAML، يتعين عليك تعطيل جميع طرق المصادقة الأخرى بما في ذلك تسجيل الدخول المحلي. تأكد من أن حساب المسؤول لديك يحتوي بالفعل على حساب مطابق في Keycloak، وإلا فقد تُغلق خارج لوحة الإدارة.

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

ملاحظة: بعد قراءتي للنص مرة أخرى، هل تقصد تعطيل طرق المصادقة في Keycloak أم في Discourse؟

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

لنفترض أنني أريد في البداية الوصول إلى كل شيء عبر واجهة برمجة التطبيقات (API). هل سأظل قادرًا على ذلك؟
تعتبر عملية تسجيل الدخول جزءًا من واجهة مستخدم Discourse.

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

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

يجب أن تكون قادرًا على ذلك، فلا شيء يمنعك من القيام بذلك.

@AAverin هل وجدت حلاً؟

@AAverin هل راجعت هذا