Per ora, penso che la tua migliore opzione sia effettuare due richieste API. Una per recuperare l’utente tramite ID al fine di ottenere il nome utente, e la seconda richiesta per aggiornare tramite nome utente.
Esiste un’opzione per aggiornare un utente tramite external_id, ma non credo che possa essere utilizzata senza l’abilitazione del single-sign-on; in questo modo, Discourse memorizza l’ID dell’utente della tua applicazione invece del contrario.