As someone with some experience with Discourse… [dramatic pause]
I’m not overly familiar with the plugin you’re using, as we required a more elaborate approach* for the EVE forums.
As mentioned by EveDataRules, you’d need to have an URL pointing to https://imageserver.eveonline.com/Character/{characterId}_256.jpg when validating the token & getting character information.
Are you using the /verify endpoint on ESI to get the character information during login?
Additional note: character portraits would only update on login. Discourse downloads & resizes the portraits.