SSO - الصورة المخصصة لا تتجدد مرة أخرى بمجرد تحديثها في البداية

نحن ندمج discourse مع منصة Php/Laravel حيث قمنا بتطبيق تسجيل الدخول الأحادي (SSO). يتم تحديث صورة المستخدم المخصصة مرة واحدة فقط. ومع ذلك، إذا قمت بتغيير صورة الملف الشخصي في منصة Laravel، فلن يتم تحديث الصورة المخصصة في discourse مرة أخرى حتى بعد تسجيل الخروج وتسجيل الدخول مرة أخرى.

حتى على الرغم من أنني قمت بتمرير ‘avatar_force_update’ كـ true، لم يتم تجاوز الصورة المخصصة للصور الرمزية.

للتحديث فقط

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

ماذا لو قمت بإعادة تحميل متصفحك؟

هل لديك إعداد الموقع discourse_connect_overrides_avatar ممكّنًا؟

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

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

  • لدى المستخدم الجديد صورة رمزية ويتصل بـ discourse لأول مرة باستخدام sso، يتم تحديث الصورة الرمزية
  • أو لا يمتلك المستخدم صورة رمزية في البداية، ويقوم بتحديث الصورة الرمزية في المنصة وفي هذه الحالة تنعكس في discourse
  • ولكن لدى المستخدم صورة رمزية واحدة وإذا قام بتحديث صورة رمزية جديدة في المنصة، فلن يتم تحديثها في discourse حتى لو قمت بتسجيل الخروج/تسجيل الدخول مرة أخرى، أو جربت في متصفح مختلف. يمكنني رؤية عنوان URL لصورة الملف الشخصي محدثًا في سجل SSO، ولكن الصورة الرمزية لا يتم تحديثها.

شكرًا لك على ردك يا ريناتو! ليس لدي أي مربعات اختيار أخرى محددة

يمكنك محاولة تشغيل التسجيل المطول والنظر في السجلات لمعرفة ما إذا كان نظام تسجيل الدخول الموحد (SSO) يرسل معلومات الصورة الرمزية.

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

قد يكون من المفيد تمكين إعداد discourse connect overrides avatar، وتسجيل الخروج من Discourse، ثم تسجيل الدخول مرة أخرى. أنا متأكد تمامًا من أنه من المتوقع أن يتم تحديث الصورة الرمزية دون تمكين هذا الإعداد طالما أن المعلمة avatar_force_update تم تعيينها على true في حمولة SSO. الكود الذي يتعامل مع هذا معقد نوعًا ما: discourse/app/models/discourse_connect.rb at 2ff3f44b957268718e03554fb25d485e1d449ed5 · discourse/discourse · GitHub.

إذا لم تتمكن من تمكين هذا الإعداد، أو كنت مهتمًا فقط بما يحدث، فهناك شيء آخر يجب التحقق منه وهو التأكد من أن القيمة التي تمررها للمعلمة avatar_force_update يتم تفسيرها على أنها القيمة المنطقية true بواسطة Discourse. هناك أطر عمل (أبرزها WordPress) حيث يتم تحويل القيم المنطقية إلى 0 أو 1. للتحايل على هذه المشكلة، يقبل Discourse السلسلة النصية "true" كقيمة منطقية في حمولة SSO. يمكنك على الأرجح تأكيد ذلك من خلال النظر إلى قيمة حقل avatar_force_update في سجل SSO المعروض في صفحة مسؤول المستخدم. أو عن طريق تمكين إعداد التسجيل المطول الذي ذكره Jay.

إعجابَين (2)