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.