Quando consumo a API diretamente, consigo acessar o ID de autenticação externa do usuário sem problemas:
GET /admin/users/{id}.json
No entanto, quando tento usar a API Javascript, não consigo obter os mesmos dados para o usuário atual. Na verdade, o currentUser não retorna nenhum dado 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
}
});
Como posso acessar o ID externo do currentUser via Javascript?
O Contexto
Estou tentando enviar o ID externo do usuário atual para window.dataLayer.
Parece que você está tentando obter o user_associated_account.provider_uid do usuário. Pela análise do código, há uma configuração oculta no site que você precisa habilitar para que associated_account_ids seja retornado do CurrentUserSerializer: