Quando accedo direttamente all’API, posso accedere all’ID di autenticazione esterno dell’utente senza problemi:
GET /admin/users/{id}.json
Tuttavia, quando provo a utilizzare l’API Javascript, non riesco a ottenere gli stessi dati per l’utente corrente. Infatti, currentUser non restituisce alcun dato per gli ID esterni:
import { apiInitializer } from "discourse/lib/api";
export default apiInitializer("1.5.0", api => {
const currentUser = api.getCurrentUser();
if (currentUser) {
const userOAuthID = currentUser?.external_ids?.oauth2_basic;
console.log("userOAuthID:", userOAuthID); // null
}
});
Come posso accedere all’ID esterno di currentUser tramite Javascript?
Il Contesto
Sto cercando di inviare l’ID esterno dell’utente corrente a window.dataLayer.
Sembra che tu stia cercando di ottenere user_associated_account.provider_uid dell’utente. Dando un’occhiata al codice, c’è un’impostazione del sito nascosta che devi abilitare per far sì che associated_account_ids venga restituito da CurrentUserSerializer: