Lorsque j’accède directement à l’API, je peux accéder à l’ID d’authentification externe d’un utilisateur sans problème :
GET /admin/users/{id}.json
Cependant, lorsque j’essaie d’utiliser l’API Javascript, je ne peux pas obtenir les mêmes données pour l’utilisateur actuel. En fait, currentUser ne renvoie aucune donnée pour les ID externes :
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
}
});
Comment puis-je accéder à l’ID externe de currentUser via Javascript ?
Le Contexte
J’essaie de pousser l’ID externe de l’utilisateur actuel vers window.dataLayer.
Il semble que vous essayez d’obtenir user_associated_account.provider_uid de l’utilisateur. D’après le code, il existe un paramètre de site caché que vous devez activer pour que associated_account_ids soit renvoyé par CurrentUserSerializer :
Merci @simon.
Cependant, il semble qu’il ne puisse pas être activé par moi-même sur une instance hébergée. Je ne trouve aucune option dans /admin/site_settings.