Est-il possible de créer un plugin 'Se connecter avec Ghost' pour Discourse ?

Il y a un an et demi, l’intégration Discourse sur Ghost était annoncée, permettant aux membres de Ghost d’accéder de manière transparente au forum du site avec les mêmes autorisations qu’ils ont sur la publication. Un « inconvénient » de l’intégration est qu’elle nécessite une installation sur un VPS, une tâche que de nombreux utilisateurs de Ghost et/ou Discourse peuvent trouver un peu trop intimidante (comme cela a été discuté sur le forum de Ghost ces derniers jours).

Ici, sur le forum de Discourse, il a été dit il y a quelques jours à propos de l’intégration des deux plateformes :

Bien que cela serait formidable, une autre option pourrait être la création d’une version « prête à l’emploi » qui pourrait être configurée avec Cloudflare Workers. Bien que cela réduirait certaines frictions pour les néophytes, une option encore meilleure pourrait être la création d’un plugin Discourse, en supposant que cela soit même possible. Étant donné qu’il existe déjà un plugin Se connecter avec Apple, cela pourrait-il suggérer qu’un plugin Se connecter avec Ghost pourrait également être techniquement possible ?

5 « J'aime »

C’est faisable, oui. Existe-t-il une documentation quelque part pour configurer Ghost en tant que fournisseur d’identité ? Si oui et si oAuth est pris en charge, vous pouvez probablement utiliser les outils existants pour configurer cela sans avoir besoin d’un plugin dédié.

4 « J'aime »

On m’a dit : « Non, Ghost n’est pas exactement conçu pour être un IDP ». Cela étant dit, les plugins permettent-ils d’ajouter de nouveaux points de terminaison, rendant cette voie possible ?

Modification :
Les groupes peuvent-ils être définis par le plugin afin que (en supposant que Ghost envoie des webhooks) lorsque l’abonnement d’un utilisateur change, les groupes puissent être synchronisés ?

2 « J'aime »

Donc, l’intégration actuelle de Discourse sur Ghost n’aurait besoin que de la fonctionnalité D-o-G pour être auto-hébergée et pas nécessairement de Ghost. Étant donné que cette intégration utilise DiscourseConnect, elle fonctionnera parfaitement avec n’importe quelle installation de Discourse prête à l’emploi, quelle que soit la manière dont elle est hébergée.

Ce qui nécessiterait l’auto-hébergement de Discourse. Alors, quel problème cela résoudrait-il ? Le fardeau passerait de l’auto-hébergement d’un module complémentaire Ghost relativement simple à l’auto-hébergement de Discourse.

4 « J'aime »

Zut, d’accord, je n’avais pas réalisé que les plugins non officiels et personnalisés n’étaient disponibles que pour les plans Entreprise. Je vois ce que vous voulez dire alors quand vous dites que « Le fardeau passerait de l’auto-hébergement d’un module complémentaire Ghost relativement simple à l’auto-hébergement de Discourse ». Le problème est que, si l’auto-hébergement du « module complémentaire simple » peut être trop gênant pour les moins technophiles, certains peuvent vouloir l’assurance que rien n’est entre leurs mains et que toutes les opérations sont en sécurité entre les mains des plus compétents.

Tout cela étant dit @pmusaraj, étant donné que les plugins personnalisés ne sont disponibles que pour les plans Entreprise, est-il effectivement le cas que, en termes de plugins, les seules options sont aux « extrêmes » – soit l’auto-hébergement, soit l’Entreprise ? Je comprends tout à fait pourquoi les plugins personnalisés ne seraient pas disponibles pour les plans Starter car Discourse doit gagner de l’argent pour se maintenir, mais y aurait-il un chemin intermédiaire ? Ou, alternativement, y aurait-il encore une autre voie que celle d’un plugin ou de « configurer Ghost comme fournisseur d’identité » qui n’a pas été abordée ?

2 « J'aime »

Je ne suis pas sûr de la faisabilité, mais la plateforme Ghost pourrait probablement implémenter DiscourseConnect pour ses sites hébergés.

Une autre option serait qu’un plugin Discourse Ghost officiel soit créé et ajouté aux plugins disponibles sur les sites Discourse hébergés.

Dans les deux cas, cela dépendrait probablement d’une demande assez importante pour l’intégration Discourse/Ghost.

1 « J'aime »

Si seulement il existait une entreprise tousse qui proposait des plugins officiels et non officiels sur des plans hébergés abordables :wink:

Mais sérieusement, je pense qu’une telle solution devrait être largement disponible et ne pas dépendre d’un service spécifique.

Il semble que D-o-G utilise une intégration JWT vers Ghost. Il existe un plugin JWT pour Discourse (officiel mais uniquement sur le plan entreprise ?). Cela pourrait être une piste à explorer.

2 « J'aime »

Je ne connais pas assez Ghost pour vous conseiller correctement, mais je peux dire ceci :

  • notre approche recommandée est d’utiliser les standards existants pour l’authentification, car, eh bien, la sécurité est primordiale en ce qui concerne les comptes et les connexions. Par exemple, GitHub - discourse/discourse-oauth2-basic: A basic OAuth2 plugin for use with Discourse ou Discourse OpenID Connect (OIDC), disponibles dans le niveau business de notre hébergement officiel. Ou SAML, pour les entreprises.
  • Compte tenu de ces plugins ci-dessus, je ne pense pas qu’un plugin d’authentification Ghost spécifique pour Discourse soit justifié. Ghost devrait prendre en charge l’un de ces standards, et une fois qu’ils le feront, vous n’aurez pas besoin d’un plugin Ghost spécifique. Nous sommes ouverts à la collaboration, mais je pense que Ghost devrait faire le gros du travail pour ajouter des fonctionnalités IDP à son offre.
  • La voie JWT est également une option, comme l’a noté @RGJ, le plugin existe et il peut probablement être configuré pour faire la même chose que l’intermédiaire D-o-G. C’est cependant un standard un peu dépassé et nous recommandons généralement OAuth, OpenID, SAML ou DiscourseConnect.
4 « J'aime »

Salut, je suis nouveau ici et j’ai lu tous les fils de discussion sur l’intégration SSO Ghost-Discourse. Je suis sur le plan hébergé Ghost(Pro) et je souhaite configurer une instance Discourse hébergée avec SSO, avec Ghost comme source de vérité pour l’authentification des utilisateurs. Ai-je bien compris que, actuellement, ma seule option est d’auto-héberger l’application middleware SSO et de la mettre en service moi-même ?

Votre première étape devrait être de demander à Ghost s’il prend en charge le rôle de fournisseur d’identité via OAuth. Je ne peux pas dire avec certitude d’après une recherche rapide sur leur forum si cela est pris en charge ou non. J’ai trouvé ce post datant d’avril 2024 qui mentionne OAuth, mais je ne suis pas sûr s’il s’agit de Ghost agissant en tant que fournisseur de connexion (il se peut que Ghost utilise autre chose comme fournisseur de connexion).

2 « J'aime »

C’était mon premier coup. Le support de Ghost a enregistré ma demande de fonctionnalité mais a essentiellement dit qu’elle ne se produirait pas bientôt, voire jamais. Au lieu de retenir mon souffle, j’ai embauché un ingénieur pour installer DoG sur une gouttelette. Cela fonctionne parfaitement, donc je peux garantir que c’est une solution de contournement efficace. Je ne comprends pas l’intransigeance du support de Ghost sur cette question.

1 « J'aime »