Existe-t-il un moyen d’insérer une ligne dans la table user_associated_account via l’API REST ?
Pour vous donner un peu de contexte, je dois pouvoir créer des utilisateurs sur notre instance Discourse et les lier à notre fournisseur OAuth2.
Lorsque les utilisateurs se connectent depuis l’interface de Discourse (via le plugin OAuth2 Basic), leur compte est lié et je peux récupérer leur identifiant utilisateur Discourse à partir de leur UID externe grâce à GET /u/by-external/oauth2_basic/{external_uid}.
Cependant, lorsque nous créons des utilisateurs via l’API REST (POST /users.json), je ne vois aucun moyen de lier leur compte à leur compte OAuth2 correspondant (s’ils ne se connectent pas manuellement sur Discourse).
Pour information, le plugin OAuth2 Basic a implémenté le nouveau système Auth::ManagedAuthenticator : Move to ManagedAuthenticator by angusmcleod · Pull Request #21 · discourse/discourse-oauth2-basic · GitHub
Voici ce que j’ai essayé :
- J’ai consulté la documentation de l’API mais n’ai trouvé aucune indication.
- J’ai identifié la route API utilisée pour récupérer les comptes associés d’un utilisateur :
GET /u/{username}/emails.json. Cependant, cette route ne semble pas supporter la méthode HTTPPUTet n’expose pas les champs de la tableuser_associated_accounts(provider_name,provider_uidetuser_id). - J’ai également examiné les paramètres de Discourse pour voir s’il existait une option liée à ce problème, sans succès.
- J’ai vérifié sur meta.discourse.org mais n’ai trouvé aucune solution.
Toute aide serait grandement appréciée ! Merci ![]()