Nous avons configuré la connexion SSO pour notre forum, mais l’icône d’avatar de l’utilisateur ne se met pas à jour comme prévu :
Lors de la modification de l’avatar chez notre fournisseur SSO, nous envoyons la charge utile suivante à notre serveur 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 vous consultez une page du forum Discourse, l’avatar ne change pas (ce qui est attendu), mais il ne change pas non plus lors du rafraîchissement de la page concernée ou de la navigation vers une nouvelle page (bien que nous puissions voir dans la console que la nouvelle image a déjà été récupérée).
Nous devons nous déconnecter et nous reconnecter pour que le changement s’effectue.
Si l’avatar change, un nouveau nom de fichier est généré pour lui, et nous envoyons toujours avatar_force_update à true.
Y a-t-il quelque chose que nous aurions oublié ?