Collegamento a una fonte esterna di avatar?

Conosco già i gravatars e gli avatar dei sistemi esterni, ma sarebbe possibile assegnare l’avatar di un utente a un’immagine esterna diversa? Nel mio caso, l’utente non dovrebbe poter modificare il proprio avatar; invece, quest’ultimo è determinato da un altro sistema che specifica quale debba essere.

In una parte di questo “sistema”, posso effettuare una richiesta PUT per aggiornare l’avatar di un utente, ad esempio:

$.ajax({
    url: 'https://example.com/site/selectable-avatars.json',
    type: 'GET',
    success: function(data) {
        const payload = {
            url: data[1] // Per ora hardcoded. Verrà assegnato in seguito in base ad alcuni dati
        }
        $.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);
             }
        })
     }
  )}

E questo funziona perfettamente, assegnando l’immagine dell’avatar all’immagine passata, che in questo caso è hardcoded come data[1]. I data sono un array di immagini, impostato nelle opzioni di Discourse come “avatar selezionabili”.

Il problema è che l’URL dell’immagine viene effettivamente costruito come https://example.com/${url} invece di essere semplicemente url.

Credo che la questione si riduca a questo: sarebbe possibile impostare il file dell’avatar su un’immagine esterna (da un altro dominio) invece che su un’immagine interna e/o esiste un modo migliore per fare ciò che sto cercando di ottenere?

Grazie per il vostro tempo.

Puoi ottenere questo risultato in modo supportato utilizzando Single Sign-On ufficiale per Discourse (SSO) e le relative impostazioni.