Я уже знаю о граватарах и аватарах из внешних систем, но возможно ли назначить аватар пользователя другому внешнему изображению? В моём случае пользователь не должен иметь возможности изменить свой аватар; вместо этого он определяется другой системой, которая указывает, каким он должен быть.
В рамках этой «системы» я могу отправить PUT-запрос для обновления аватара пользователя, например:
$.ajax({
url: 'https://example.com/site/selectable-avatars.json',
type: 'GET',
success: function(data) {
const payload = {
url: data[1] // Пока зашито вручную. Позже будет назначено на основе данных
}
$.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);
}
})
}
})
Это работает отлично: аватар назначается изображению, переданному в запросе, который в данном случае зашит как data[1]. Переменная data — это массив изображений, настроенный в параметрах Discourse как «выбираемые аватары».
Проблема в том, что URL изображения фактически формируется как https://example.com/${url}, а не просто как url.
Получается, вопрос сводится к следующему: возможно ли установить файл аватара как внешнее изображение (с другого домена), а не внутреннее? Или есть более подходящий способ сделать то, что я пытаюсь реализовать?
Спасибо за ваше время.