Configuramos o login SSO para nosso fórum, mas o ícone do avatar do usuário não atualiza como esperado:
Ao alterar o avatar em nosso provedor SSO, enviamos o seguinte payload para nosso 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')
);
Ao visualizar uma página do fórum Discourse, o avatar não muda (o que é esperado), mas ele também não muda ao atualizar a página ou navegar para outra (embora possamos ver no console que a nova imagem já foi carregada).
Precisamos fazer logout e login novamente para que a alteração ocorra.
Se o avatar mudar, um novo nome de arquivo é gerado para ele, e sempre enviamos o avatar_force_update como true.
Há algo que estamos deixando passar?