Quelqu’un sait comment obtenir le « external_id » d’un utilisateur via l’API ? J’ai ajouté un external_id lors de la connexion SSO, mais maintenant, lorsque je interroge les utilisateurs, je ne vois aucun « external_id » dans le hash utilisateur renvoyé par l’API. Je tente d’utiliser l’external_id pour identifier les utilisateurs de ma base de données lors du traitement d’un webhook.
Oui, cela peut être fait en envoyant une requête GET authentifiée vers https://discourse.example.com/u/by-external/{external_id}.json
Cette route est documentée ici : Discourse API Docs.
Pour obtenir l’inverse (c’est-à-dire obtenir l’external_id à partir d’un user_id), vous pouvez :
-
Utiliser l’API Ruby de Discourse et appeler la méthode : user_sso(user_id)
-
Envoyer une requête GET authentifiée à :
https://discourse.example.com/admin/users/{id}.json
et rechercher la clé de hash [“single_sign_on_record”][“external_id”]
Notez que single_sign_on_record (et external_id) n’est PAS renvoyé par un appel à :
https://discourse.example.com/users/{username}.json
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.