Abbiamo configurato l’accesso SSO per il nostro forum, ma l’icona dell’avatar dell’utente non si aggiorna come previsto:
Quando si modifica l’avatar nel nostro provider SSO, inviamo il seguente payload al nostro server 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')
);
Se si visualizza una pagina del forum Discourse, l’avatar non cambia (questo è previsto), tuttavia non cambia nemmeno aggiornando la pagina corrispondente o navigando verso una nuova pagina (sebbene dalla console si veda che ha già caricato la nuova immagine).
È necessario disconnettersi e riconnettersi affinché l’avatar venga aggiornato.
Se l’avatar cambia, viene generato un nuovo nome file per esso e inviamo sempre avatar_force_update impostato su true.
C’è qualcosa che stiamo trascurando?