Existe-t-il un point de terminaison qui fournirait les identifiants de compte externes d'un utilisateur à partir de son identifiant Discourse ?

Continuant la discussion de Obtenir l’external_id par utilisateur pour les comptes associés ? :

J’ai vu que cette question avait été posée ici, mais je ne pense pas qu’elle ait eu beaucoup de succès car elle était uniquement dans la catégorie dev. Je me demande si quelque chose comme cela existe ou est possible, même si ce n’est pas documenté. J’ai vraiment besoin d’un moyen d’obtenir tous leurs comptes associés, et idéalement, je ne voudrais pas avoir à le stocker dans une base de données séparée et à devoir la maintenir synchronisée (par exemple, un utilisateur supprime son compte social.)

Vous pouvez voir les informations dans le panneau d’administration, je pense que vous pouvez Comment faire de l’ingénierie inverse de l’API Discourse.

1 « J'aime »

Oui, il y a une section associated_accounts, mais le problème est qu’elle n’affiche pas l’ID externe, tel que celui dont vous auriez besoin pour utiliser Discourse API Docs, ce qui est mon problème.

Par exemple, j’aurais besoin d’obtenir l’ID utilisateur Discord ou l’ID Steam 64, qui n’est pas accessible depuis le point de terminaison.

Quel est le problème que vous essayez de résoudre ? Que comptez-vous faire des informations du compte externe ?

Je ne sais pas s’il existe une API qui expose cela. Je devrais regarder le code source. Peut-être que quelqu’un d’autre le sait.

Vous pourriez avoir besoin d’un plugin qui résout votre problème. Peut-être ajouter simplement les informations au sérialiseur utilisateur pour les administrateurs.

1 « J'aime »

Oui, donc en gros, j’utilisais Discourse SSO sur un site externe et j’avais besoin de voir si un utilisateur avait associé ses comptes. S’ils l’avaient fait, j’avais besoin de leurs identifiants afin d’exécuter certaines actions. Je voulais vraiment éviter qu’ils se connectent sur ce site externe avec Discord OAuth ou Steam OpenID car cela semblait redondant et signifierait que certaines choses pourraient ne pas être synchronisées avec Discourse.

Eh bien, je ne comprends toujours pas tout à fait, mais je pense que vous aurez besoin d’un plugin.

1 « J'aime »

Ah, il est donc possible de créer un point de terminaison d’API personnalisé avec un plugin ? Je vais devoir me pencher là-dessus. Merci !

Vous pouvez créer un point de terminaison personnalisé avec ces informations en utilisant Comment exécuter des requêtes Data Explorer avec l’API Discourse

5 « J'aime »

Oh ! Génial. Je savais que vous pouviez créer des requêtes personnalisées et les appeler depuis l’API, mais je n’avais pas pensé que c’était un endpoint. Super.

4 « J'aime »

Merci pour toute votre aide à tous les deux ! Il semble que l’explorateur de données soit ce dont j’ai besoin. Je vais essayer ça tout de suite.

Edit : Oui, wow - c’est un plugin tellement puissant. Merci !

3 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.