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?