Les redirections ouvertes ont tendance à rendre les gens nerveux. Dans ce cas, si vous ajoutez par exemple Nextcloud, cela signifie que les gens pourront utiliser une URL sur Nextcloud pour générer une clé sur Discourse, puis être redirigés vers Nextcloud.
À l’étape 6, à quel appel d’API faites-vous spécifiquement référence ?
Ou si quelqu’un d’autre sait, merci de répondre !
Les appels d’API mentionnés à l’étape six sont les appels que vous souhaitez effectuer. Ils font référence aux appels qui font ce que vous voulez réellement faire avec le site discourse.
Dans mon cas, j’avais une application distincte qui interagissait avec un site discourse, faisant des choses comme créer des publications sur le site discourse en fonction d’une action qu’un utilisateur effectuait dans l’application distincte. L’application se connectait à l’utilisateur, l’utilisateur faisait certaines choses, puis l’application effectuait des appels d’API POST et PUT pour créer / modifier des publications discourse à partir de cet utilisateur.
Je vois. Dans mon cas, je veux juste faire en sorte qu’un utilisateur se connecte sur mon site web, effectue l’autorisation Discourse, puis redirige vers mon site web, où il pourra simplement lire son nom d’utilisateur, son e-mail, son avatar, son identifiant, etc. et créer un nouvel utilisateur sur notre site. @JQ331
Alors vous êtes au mauvais endroit, vous ne pouvez pas utiliser les clés d’API utilisateur pour cela.
Au lieu de cela, vous devrez configurer Discourse comme fournisseur DiscourseConnect et votre site Web comme client DiscourseConnect. Voir Use Discourse as an identity provider (SSO, DiscourseConnect)
J’ai raison de penser que pour quelque chose comme ça, j’aurai besoin d’accéder à la clé secrète du site ?
Il n’y a pas de « clé secrète » mais vous aurez bien besoin d’un accès administrateur à Discourse pour le configurer.
Bonjour, j’ai essayé d’implémenter cette clé API utilisateur, mais il semble qu’elle ait un limiteur de débit d’API. J’ai obtenu un 429 après quelques appels d’API. Y a-t-il une configuration pour cela ? J’utilise un hébergement payant.
Voici plus d’informations sur les limites de débit.
Si vous hébergez avec Communiteq, veuillez contacter notre service d’assistance via votre panneau de contrôle pour configurer cela.
Salut @RGJ , merci pour votre réponse. Mon entreprise a le plan Standard et Business, mais je ne vois pas le bureau de support dans le panneau de configuration. Au lieu de cela, j’ai envoyé un e-mail à team@discourse.org est-ce correct ?
Si vous êtes hébergé chez nous chez Discourse (plutôt qu’avec @RGJ chez Communiteq), c’est effectivement la bonne façon de contacter notre équipe de support.
![]()
Salut !
J’écris une application qui consomme cette API.
Y a-t-il un moyen d’obtenir les informations de l’utilisateur (principalement le nom d’utilisateur) à partir de cela ?
Ou dois-je demander le nom d’utilisateur manuellement, puis le demander plus tard ?
Bienvenue, @gilice.
Vous ne voulez pas dire que vous consommez l’API pour obtenir des clés d’API, mais que vous essayez de faire quelque chose avec les utilisateurs ?
Ceci pourrait vous aider : Ingénierie inverse de l’API Discourse.
Mais si vous essayez d’obtenir le nom d’utilisateur d’un utilisateur, une façon de le faire est de rechercher l’adresse e-mail sur la route admin/users.
Ce serait utile si vous disiez ce que vous essayez de faire.
Salut ! Merci pour ta réponse, j’aurais peut-être dû mieux formuler ma question.
La question que je voulais poser : je peux obtenir la clé d’API appartenant à un utilisateur. Ensuite, puis-je obtenir le profil de l’utilisateur (nom d’utilisateur, photo de profil, etc.) sans demander son nom d’utilisateur et en utilisant la méthode getUser ?
Je ne comprends pas bien comment cela fonctionnerait. D’où voulez-vous obtenir la clé API ? Comme vous pouvez le voir dans le flux, l’utilisateur doit d’abord se connecter pour obtenir une clé, et il a besoin de ses informations de connexion normales pour cela. Pouvez-vous expliquer plus en détail ce que vous essayez de faire ?
Salut tout le monde,
Dans mon application, j’utilise des clés API utilisateur pour réaliser certaines fonctionnalités de Discourse. J’ai par erreur autorisé la connexion (en utilisant l’API /user-api-key/new) avec le mauvais compte Discourse.
J’ai révoqué l’accès à l’application depuis le mauvais compte Discourse. Cependant, lorsque j’essaie d’autoriser en utilisant le bon compte Discourse, je reçois une erreur. En consultant les journaux, j’ai trouvé l’erreur suivante :
\u003e ActiveRecord::RecordNotUnique (PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_user_api_keys_on_client_id" DETAIL: Key (client_id)=\n
Sur la base de l’erreur, je suppose que nous ne pouvons pas associer 2 comptes utilisateur pour le même identifiant client.
Y a-t-il un moyen de surmonter ce problème ?
Existe-t-il également une API pour mettre à jour l’identifiant client d’une clé API utilisateur même lorsque la clé API est révoquée ?
Merci !
Qu’est-ce que cela signifie exactement ?
J’écris une application qui demande des données au nom d’un utilisateur via une clé d’API utilisateur. L’objectif est d’éviter les problèmes de limitation de débit. Quand l’application rencontre-t-elle exactement des problèmes de limitation de débit ?
Je pense que vous cherchez quelque chose comme ceci :
Oui ! C’est ce que je voulais. Merci beaucoup !!!
Pouvons-nous obtenir une spécification OpenAPI pour les clés d’API utilisateur ? Ou envisagez d’ajouter celles-ci à la documentation de spécification existante.
GitHub - discourse/discourse_api_docs: Discourse API Documentation
Pour les développeurs en aval, nous préférons utiliser OpenAPI pour générer l’interface et l’API dont nous avons besoin.