Conectando a uma fonte externa de avatares?

Já conheço os gravatars e os avatares de sistemas externos, mas seria possível atribuir o avatar de um usuário a alguma outra imagem externa? No meu caso, o usuário não deve poder alterar seu avatar; em vez disso, o avatar é determinado por outro sistema que especifica qual deve ser.

Em parte desse “sistema”, posso chamar uma requisição PUT para atualizar o avatar de um usuário, por exemplo:

$.ajax({
    url: 'https://example.com/site/selectable-avatars.json',
    type: 'GET',
    success: function(data) {
        const payload = {
            url: data[1] // Por enquanto está fixo. Será atribuído depois com base em alguns dados
        }
        $.ajax({
            url: 'https://example.com/u/' + username + '/preferences/avatar/select',
            type: 'PUT',
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                'Api-Key': 'my-api-key',
                'Api-Username': 'my-api-username'
             },
             data: JSON.stringify(payload),
             success: function(data, textStatus) {
                 console.log(data, textStatus);
             }
        })
     }
  })

Isso funciona perfeitamente, atribuindo a imagem do avatar à imagem passada, que neste caso está fixa como data[1]. O data é um array de imagens definido nas configurações do Discourse como “avatares selecionáveis”.

O problema é que a URL da imagem é na verdade construída como https://example.com/${url}, e não apenas url.

Acho que o ponto central é: seria possível definir o arquivo do avatar como uma imagem externa (de outro domínio) em vez de uma imagem interna? E/ou existe uma maneira melhor de fazer o que estou tentando?

Obrigado pelo seu tempo.

Você pode obter isso de maneira compatível usando Login Único Oficial (SSO) para o Discourse e as configurações relacionadas.