صورة الملف الشخصي لـ SSO لا تتحدّث كما هو متوقع

قمنا بإعداد تسجيل الدخول الموحد (SSO) لمنتدانا، لكن أيقونة صورة المستخدم لا تتحدث كما نتوقع:

عند تغيير الصورة في مزوّد SSO الخاص بنا، نرسل الحمولة التالية إلى خادم Discourse:

$encodedPayload = base64_encode(
	$decodedPayload
	. '&return_sso_url=' . env('DISCOURSE_SSO_URL')
	. '&email=' . auth()->user()->email
	. '&primary_email=' . auth()->user()->email
	. '&external_id=' . auth()->user()->id
	. '&name=' . auth()->user()->name
	. '&username=' . auth()->user()->nickname
	. '&avatar_url=' . auth()->user()->avatar
	. '&avatar_force_update=true'
	. '&admin=' . (auth()->user()->isAdmin ? 'true' : 'false')
);

عند تصفّح صفحة في منتدى Discourse، لا تتغيّر الصورة (وهذا متوقّع)، لكنها لا تتغيّر أيضًا عند تحديث الصفحة المعنية أو الانتقال إلى صفحة جديدة (رغم أننا نستطيع رؤية في وحدة التحكم أنه تم جلب الصورة الجديدة بالفعل).

نحتاج إلى تسجيل الخروج ثم تسجيل الدخول مرة أخرى حتى تتغيّر الصورة.

عند تغيير الصورة، يتم توليد اسم ملف جديد لها، ونحن نرسل دائمًا avatar_force_update بقيمة true.

هل هناك شيء نغفله؟

إذا قمت بتفعيل إعداد الموقع verbose sso logging في Discourse، هل تلاحظ ظهور معلمة avatar_force_update في سجلات SSO عند أول تسجيل دخول بعد أن يغير المستخدم صورته الشخصية على موقع مزود SSO؟