Trouver un utilisateur par son 'external ID' de fournisseur d'identité

:bookmark: Ce guide explique comment trouver un utilisateur Discourse en fonction de son external_id provenant d’un fournisseur d’identité à l’aide d’appels API.

:person_raising_hand: Niveau d’utilisateur requis : Administrateur

Lorsque vous utilisez un système d’authentification externe, Discourse conserve la trace de deux identifiants d’utilisateur : l’user_id de Discourse et un external_id provenant du fournisseur d’identité. Si vous avez besoin de rechercher un utilisateur Discourse en fonction de l’external_id, cet article howto est pour vous ! Ci-dessous, vous apprendrez comment effectuer cette opération.

Configuration de l’API

Tout d’abord, assurez-vous d’avoir correctement configuré une clé d’API d’administrateur. Pour plus d’informations sur la configuration et l’utilisation de l’API Discourse, veuillez consulter la documentation de l’API Discourse.

DiscourseConnect

Si vous utilisez DiscourseConnect (anciennement connu sous le nom de Discourse SSO), vous pouvez récupérer un utilisateur avec l’appel d’API suivant :

curl https://myforum.example.com/u/by-external/{external-id}.json \
     -H "Api-Key: 714552c6148e1617aeab526d0606184b94a80ec048fc09894ff1a72b740c5f19" \
     -H "Api-Username: discourse1"

Remplacez {external-id} par l’ID externe réel de l’utilisateur que vous recherchez. Si un utilisateur est trouvé, ses informations seront renvoyées. Sinon, un statut 404 sera renvoyé.

Autre Fournisseur d’Authentification

Ceci fonctionne pour toutes les méthodes principales, ainsi que pour les plugins qui utilisent le framework “ManagedAuthenticator” (y compris discourse-openid-connect et discourse-oauth2-basic).

Tout d’abord, trouvez le ‘nom du fournisseur’ de votre authentificateur. Celui-ci est normalement contenu dans l’URL de rappel (par exemple, si l’URL de rappel est /auth/oauth2_basic/callback, alors le nom du fournisseur est oauth2_basic).

Ensuite, vous pouvez récupérer un utilisateur comme ceci :

curl https://myforum.example.com/u/by-external/{provider}/{external-id}.json \
     -H "Api-Key: 714552c6148e1617aeab526d0606184b94a80ec048fc09894ff1a72b740c5f19" \
     -H "Api-Username: discourse1"

Remplacez {provider} par le nom du fournisseur réel et {external-id} par l’ID externe de l’utilisateur que vous recherchez. Si un utilisateur est trouvé, ses informations seront renvoyées. Sinon, un statut 404 sera renvoyé.

Ressources Supplémentaires

15 « J'aime »