Cuando consumo la API directamente, puedo acceder al ID de autenticación externo del usuario sin ningún problema:
GET /admin/users/{id}.json
Sin embargo, cuando intento usar la API de Javascript, no puedo obtener los mismos datos para el usuario actual. De hecho, currentUser no devuelve ningún dato para IDs externos:
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
}
});
¿Cómo podría acceder al ID externo de currentUser a través de Javascript?
El Contexto
Estoy intentando enviar el ID externo del usuario actual a window.dataLayer.
Parece que estás intentando obtener el user_associated_account.provider_uid del usuario. Según el código, hay una configuración oculta del sitio que necesitas habilitar para que associated_account_ids se devuelva desde CurrentUserSerializer: