إرسال العنوان عبر SSO، لكن لا يوجد إعداد لتجاوز العنوان في SSO؟

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

ظننت أنه يجب علي التأكد من أن الإعدادات مضبوطة للسماح لـ SSO بتجاوز العنوان. لكنني لا أجد إعدادًا باسم “SSO Overrides Title”! هل تم إغفاله عند إضافة العنوان إلى حمولة SSO؟ أم أنه مفترض ضمن إعداد آخر؟

مجتمعي يحتاج حقًا إلى هذه الميزة، حيث أنني أقوم بتعيين العنوان بناءً على الطائرة التي يمتلكها المستخدم، وهذا يتغير من وقت لآخر!

من خلال النظر في كود Discourse، يبدو أنه إذا تم تضمين title في حمولة SSO، فسيتم تعيين عنوان المستخدم في كل مرة يسجل فيها الدخول إلى Discourse باستخدام SSO. ومن الجدير بالذكر أنه لا يمكنك إنشاء عنوان عن طريق إضافته إلى حمولة SSO؛ بل يجب عليك تزويد عنوان مجموعة Discourse الموجودة التي ينتمي إليها المستخدم.

لقد اختبرت هذا على موقعي الخاص، وهو يعمل بشكل صحيح بالنسبة لي.

هذا أمر مثير للاهتمام، لأنني أقوم حتمًا بإنشاء العناوين بإضافتها إلى الحمولة (payload)، وهي ليست مجموعات. على سبيل المثال:

image

كما ترون، بالنسبة لهذه المجموعة من مالكي الطائرات، فإن هذا العنوان مفيد جدًا، لذا فهذه وظيفة جيدة!

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

ربما يتحول هذا إلى اقتراح ميزة؟ أو فكرة لـ “توسيع هذه الميزة”؟ إنها حقًا شيء رائع لغرضنا.

أنت محق. ما أربكني هو رؤية العنوان مضبوطًا على “لا شيء” عندما أرسل عنوانًا لا يتطابق مع عنوان مجموعة ينتمي إليها المستخدم:

ولكن إرسال أي عنوان في الحمولة يقوم بتحديث العنوان الخاص بالمستخدم في كل تسجيل دخول عبر SSO. يمكنك التحقق من ذلك عبر وحدة تحكم Rails أو باستخدام إضافة Data Explorer إذا كانت مثبتة على موقعك.

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

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

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

لقد عرفت سبب عدم عمل اختباراتي. يمكنك تغيير العنوان، لكن لا يمكنك تعيينه إلى null عبر SSO. إذا أرسلت عنوانًا بقيمة null، فلن يتم مسح العنوان.

أضفت بعض أكواد SSO لتحويل أي عنوان null إلى “-”، وقد نجح ذلك. لم أجرب استخدام مسافة، وقد ينجح ذلك أيضًا.