تمديد أزرار الرأس

مرحباً - لقد ورثنا منتدى Discourse راسخ. أود تعديل وظائف زر رأس “إنشاء حساب”.

لقد تمكنت من تثبيت المكون الإضافي Ember Chrome الذي استخدمته لفحص الأزرار - وقد كشف عن مسار:

​/​var​/​www​/​discourse​/​app​/​assets​/​javascripts​/​discourse​/​node_modules​/​.embroider​/​rewritten-app​/​components​/​header​/​auth-buttons.js

لست متأكداً ولكن أعتقد أن ملف JavaScript ذي الصلة موجود هنا؟

لدي وصول إلى لوحة تحكم المسؤول في المنتدى، يمكنني النقر على “المكونات” ولكنني لا أرى إدخالاً لهذه الأزرار. لقد رأيت بعض المكونات “الاختبارية” المستخدمة، وحاولت تمكين أحدها ونسخ محتويات ملف auth-buttons.gjs في قسم الرأس المشترك ولكن عندما حاولت الحفظ، واجهت أخطاء.

لذا سؤالي هو - كيف يمكنني توسيع وتخصيص وظائف هذه الأزرار.

شكراً مقدماً.

مرحباً، ماذا تحاول أن تفعل بهذه الأزرار؟

نريد من المستخدمين التسجيل عبر موقعنا الرئيسي - ثم يعمل تسجيل الدخول للحساب للمنتدى…

تحتاج حقًا إلى استخدام SSO. سيتكيف Discourse تلقائيًا مع موفر SSO الخاص بك بمجرد تكوينه بشكل صحيح.

5 إعجابات

نحن نستخدم بالفعل SSO - يقوم المنتدى بالمصادقة على المستخدمين عبر نفس المزود الخاص بموقعنا الرئيسي. ومع ذلك، عندما يقوم المستخدم بالتسجيل للحصول على حساب في المنتدى، فإننا نريد ببساطة توجيهه إلى الموقع الرئيسي - ما هي أفضل طريقة للقيام بذلك؟

هل أنت متأكد تمامًا من أنك تريد فعل ذلك؟ من وجهة نظر المستخدمين، يحاول شخص ما خداعهم. لقد كانوا مهتمين بمنتديات وبعد التسجيل سيجدون أنفسهم في مكان آخر.

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

تعطيل جميع طرق المصادقة الأخرى (بما في ذلك تسجيلات الدخول المحلية) والسماح فقط بتسجيل الدخول الموحد (SSO) كخيار لتسجيل الدخول. سيؤدي ذلك تلقائيًا إلى إرسال المستخدمين لتسجيل الدخول إلى موقعك الرئيسي.

4 إعجابات

إذا قمت بإعداده بشكل صحيح، أعتقد أنه سيعيد التوجيه بعد تسجيل الدخول؟

يعمل المصادقة - إنها زر “التسجيل” الذي نريد تخصيصه للانتقال إلى الموقع الرئيسي…

هذا ما اقترحته أعلاه.

إعجابَين (2)

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

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

إذًا، يجب أن يكون هناك خيار في مكان ما في لوحة الإدارة حيث يمكنني تحديد عنوان URL الخارجي لعملية التسجيل؟

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

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

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

مرحباً :wave:

هذا مكون سمة يمكنك من خلاله إضافة زر تسجيل مخصص. لقد قمت بتحديثه الآن ليعمل مع التغييرات الأساسية الجديدة.

إذًا، إذا تم تعطيل عمليات تسجيل الدخول المحلية، فهل سينتقل الزر مباشرةً إلى مصادقة الدخول الموحد؟

نعم. هذا ما يحدث إذا كان الدخول الموحد هو طريقة المصادقة الوحيدة.

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

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

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