외부 아바타 소스에 연결하는 방법?

그라바타(Gravatar)와 외부 시스템 아바타에 대해서는 이미 알고 있지만, 사용자의 아바타를 다른 외부 이미지로 지정할 수 있을까요? 제 경우를 말씀드리면, 사용자가 아바타를 직접 변경할 수 없어야 하며, 대신 아바타가 어떤 것이어야 하는지 지정하는 다른 시스템에 의해 결정되어야 합니다.

이 "시스템"의 일부에서는 사용자의 아바타를 업데이트하기 위해 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 설정의 "선택 가능한 아바타(selectable avatars)"로 설정된 이미지 배열입니다.

문제는 이미지 URL이 단순히 url이 아니라 실제로 https://example.com/${url}로 구성된다라는 점입니다.

결국 제가 묻고 싶은 핵심은, 내부 이미지가 아닌 외부 이미지(다른 도메인)를 아바타 파일로 설정할 수 있는지, 그리고 제가 하려는 일을 수행하는 더 나은 방법이 있는지입니다.

시간 내어 답변해 주셔서 감사합니다.

Discourse 공식 단일 로그인(SSO) 및 관련 설정을 사용하면 지원되는 방식으로 이를 구현할 수 있습니다.