يمكن تحديد معظم حقول الملف الشخصي بالفعل أثناء عملية SSO، وهو أمر مفيد للغاية. من اسم المستخدم إلى الاسم، ثم السيرة الذاتية، وحتى الموقع الإلكتروني تمت إضافته في العام الماضي. ولكن، لا تزال هناك بعض التفاصيل الصغيرة:
يبدو أن حقل location مفقود — من النظرة السريعة، يبدو أنه الحقل الواضح الوحيد الذي لا يمكن تغييره باستخدام SSO.
يمكن تحديد website أثناء عملية SSO، ولكن على عكس معظم (كل؟) حقول ملف تعريف SSO الأخرى، لا يوجد إعداد موقع مقابِل يسمح بتجاوز القيمة المحلية ومنع المستخدم من تغييرها.
أظن أن هذه الأمور قد تم إغفالها ببساطة مع نمو قاعدة الكود بمرور الوقت، حيث لا أستطيع التفكير في سبب لهذه الاستثناءات. للأسف، معرفتي بلغة Ruby ومنصة Discourse ليست كافية لتقديم طلب سحب (PR)، لكنني أردت الإبلاغ عن ذلك — ربما يكون لدى شخص ما المهارات التقنية للقيام بذلك.
لقد قمت بتنفيذ التغييرات اللازمة لجعل العنصرين المذكورين أعلاه يعملان. يسعدني المساهمة بها في مشروع Discourse، لكنني لا أعرف ما إذا كان هناك اهتمام بتضمينها في النسخة الرئيسية؟ /cc @sam
أخبرني قبل أن أبدأ في الإجراءات اللازمة لتقديم طلب الدمج (PR). الكود يعمل، لكنه قد يحتاج إلى بعض المراجعة أو التغييرات لأنني جديد على Discourse.
تفضل ببدء عملية طلب السحب (PR) لتتمكن من إتمام عملية اتفاقية ترخيص المستخدم (CLA)، ولكن:
لا يبدو ذلك ذا قيمة تستحق الجهد؛ فالحقول الأخرى في تلك الصفحة، مثل صورة خلفية بطاقة المستخدم، لن تكون متاحة على منصات SSO، لذا لا توجد ميزة اتساق تضيفها بإغلاق قفل خاص بموقع الويب.
آسف، لست متأكدًا من أنني فهمت ما تقصده هناك. أتفق على أن خلفية البطاقة لها استخدام محدود في SSO (على الرغم من أنها مُطبَّقة بالفعل). website هو أيضًا حقل SSO مُطبَّق مسبقًا — لقد أضفت فقط إعدادًا باسم sso_overrides_website، مثل تلك الموجودة بالفعل لاسم المستخدم والصورة الشخصية والسيرة الذاتية وما إلى ذلك، مما يسمح بعدم السماح بالتغييرات المحلية وإعطاء الأولوية لقيمة SSO.