フォーラムに SSO ログインを設定しましたが、ユーザーのアバターアイコンが期待通りに更新されません。
SSO プロバイダーでアバターを変更すると、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')
);
Discourse フォーラムのページを表示すると、アバターは変更されません(これは想定通りです)。しかし、該当ページをリフレッシュしたり、別のページに移動したりしても変更されません(コンソールでは新しい画像が既に取得されていることが確認できます)。
変更されるには、一度ログアウトして再度ログインする必要があります。
アバターが変更されると、新しいファイル名が生成され、私たちは常に avatar_force_update を true に設定しています。
何か見落としていることはありますか?