صفحة تسجيل الدخول SSO لا تظهر

لقد تابعت موضوع SSO الرسمي لكن يبدو أنني لا أستطيع جعل صفحة تسجيل الدخول العالمية تظهر.

عندما قمت فقط بتفعيل oAuth، عمل الأمر. لقد قمت بتسجيل الدخول باستخدام زر “مع Auth0” دون أي مشكلة. أما عند تفعيل SSO، فقد تم إعادة التوجيه إلى صفحة Auth0 لكنها أظهرت صفحة خطأ تحتوي على " invalid_request : معلمة غير صالحة: يجب أن يكون client_id نصًا". أول ما خطر ببالي هو أنني أدخلت “sso_url” خاطئًا. بصراحة، لا أعرف حقًا ما الذي يجب أن يكون موجودًا هناك، لذا وضعت “https://.auth0.com/authorize”.

هل واجه أي شخص مشكلة مشابهة؟ أم لديك أي أفكار؟

يجب تعيين sso url إلى عنوان URL الذي قمت بتكوينه على موقع مزود SSO الخاص بك للتعامل مع طلب Discourse SSO.

لا يستخدم تطبيق Discourse لـ SSO بروتوكول OAuth. ومن الممكن أن يكون هذا هو السبب في حدوث اللبس.

ما هي اللغة أو الإطار الذي يستخدمه موقع مزود SSO الخاص بك؟ من الممكن أن يكون هناك تطبيق جاهز لـ SSO خاص به يمكنك استخدامه.

مزوّد SSO الخاص بي هو Auth0.com. لقد اتبعت هذا الموضوع لإعداد oAuth2، ثم حاولت إضافة SSO.

ربما أحتاج إلى البحث أكثر في جانب Auth0، لأنني قمت فقط بإعداد تطبيق ونطاق (مستأجر)، ولم أرَ أي شيء يتعلق بـ SSO.

هذا منطقي. إن نظامي Auth0 و Discourse SSO منفصلان تمامًا. لا يمكنك تفعيلهما معًا على موقعك. يبدو أن كل ما تحتاج إليه هو التأكد من إعداد Auth0 بشكل صحيح على موقعك.

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

لاستخدام مزود هوية خارجي لميزة SSO، تحتاج إلى خدمة وسيطة، مثل discourse-sso-oidc-bridge. لقد نجحت اليوم في تشغيله باستخدام Keycloak بدلاً من Auth0، ويجب أن يكون الأمر مماثلًا تقريبًا.

إذا كنت ترغب فقط في استخدام Auth0 مثل تسجيل الدخول عبر الشبكات الاجتماعية مثل Google/Facebook/Github، فمن المرجح أنك تريد استخدام discourse-openid-connect plugin. ستحتاج إلى تثبيته واستخدام الإعدادات التي يوفرها. لقد جربته سابقًا مع Keycloak قبل ميزة SSO المنفصلة. لا يحتاج إلى جسر وسيط، وقد يمنحك ما تريد (طالما أنك لا تريد تفاصيل في Discourse يتم تحديثها/مزامنتها عند تسجيل دخول المستخدم مرة أخرى، وهو الوقت الوحيد الذي تقوم فيه Discourse بمزامنة تفاصيل الحساب).

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