El avatar de SSO no se actualiza como se esperaba

Hemos configurado el inicio de sesión SSO para nuestro foro, pero el icono de avatar del usuario no se actualiza como esperamos:

Al cambiar el avatar en nuestro proveedor SSO, enviamos la siguiente carga útil a nuestro servidor 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')
);

Si se visualiza una página del foro Discourse, el avatar no cambia (esto es esperado), sin embargo, tampoco cambia al refrescar la página correspondiente o al navegar a una nueva (aunque podemos ver en la consola que ya ha cargado la nueva imagen).

Necesitamos cerrar sesión y volver a iniciarla para que se actualice.

Si el avatar cambia, se genera un nuevo nombre de archivo para él, y siempre enviamos avatar_force_update como true.

¿Hay algo que estemos pasando por alto?

Si habilitas la configuración del sitio de Discourse verbose sso logging, ¿estás viendo el parámetro avatar_force_update en los registros de SSO para el primer inicio de sesión después de que un usuario cambie su avatar en el sitio del proveedor de SSO?