Discourse avec SSO de Nextcloud

Je n’ai pas trouvé de guide à ce sujet. Cependant, ce que je souhaiterais faire, c’est « intégrer » Discourse en tant qu’« application » dans l’environnement collaboratif open source Nextcloud. Je pense que cela se fait en ouvrant Discourse — un peu comme une iframe — en tant que « site externe » dans Nextcloud. Voici mes étapes :

  1. Remarquez qu’il existe une sorte d’« application d’intégration » pour utiliser SSO entre Nextcloud et Discourse :
    Discourse SSO - Apps - App Store - Nextcloud

  2. Dans Nextcloud, allez dans + Applications → Intégration → Discourse SSO. Installez-la et activez-la.

  3. Accédez à mes paramètres et saisissez mes informations SSO :

  4. Je me rends sur mon site de forum Discourse (qui est en suédois, désolé) et j’accède à mes paramètres d’administration :


    Et je descends pour remplir ces trois champs :

  5. Je me déconnecte à la fois de Discourse et de Nextcloud. Je me reconnecte à Nextcloud (en utilisant le même e-mail sur Nextcloud et Discourse), mais je ne parviens pas à ouvrir correctement le « site externe » pour afficher mon forum Discourse.

Pourquoi Firefox interprète-t-il mon forum comme étant intégré ?

Êtes-vous certain d’utiliser le bon point de terminaison pour le SSO ?

La deuxième étape consisterait à vérifier si la CSP est à l’origine de ce comportement (je ne sais pas comment ni pourquoi).

J’ai essayé de désactiver l’authentification unique (SSO), mais le sous-domaine où se trouve mon forum ne peut toujours pas être ouvert dans Nextcloud. En revanche, mon nom de domaine principal s’ouvre sans problème.
Par CSP, entendez-vous le fournisseur de services cloud où est hébergé votre Discourse ?

De Nextcloud

Vos liens peuvent ou non fonctionner correctement en raison des différentes façons dont les navigateurs Web et les sites Web gèrent les URL HTTP et HTTPS, et parce que l’application Sites externes intègre des liens externes dans des IFrames.

Discourse ne fonctionne pas dans une balise <iframe> et votre serveur Discourse refusera la connexion.

3 « J'aime »

Merci ! Mais alors, pourquoi existe-t-il une application « Intégration SSO » si l’intégration est impossible ? Existe-t-il une solution de contournement pour permettre l’intégration de Discourse dans un iframe ?

Édition : J’ai créé un post sur le forum Nextcloud maintenant. Je reviendrai vers vous si j’obtiens des éclaircissements de leur part.

D’accord, donc un utilisateur du forum Nextcloud confirme simplement que Discourse semble être le problème, car cela ne fonctionne pas dans une iframe. Une recherche rapide sur Google m’a dirigé vers ce projet GitHub vieux de 4 ans :

Après avoir modifié app.yml pour prendre en compte ce plugin, que dois-je faire ensuite ? Dois-je reconstruire Discourse pour l’installer complètement ?

Oui, une reconstruction sera nécessaire pour installer n’importe quel plugin.

Juste pour vous en informer, un plugin qui n’est pas maintenu depuis plus de 4 ans a de fortes chances de ne plus fonctionner.

2 « J'aime »

Vous pouvez soumettre des problèmes et des demandes de fonctionnalités sur le projet GitHub. Notez qu’il n’a pas encore été mis à jour pour la version 20. Cliquez pour plus de détails.

1 « J'aime »

Merci pour le conseil ! Tu n’as pas utilisé cette application toi-même, si ?

Pour la petite histoire : j’ai installé le plugin “allowifram” et mon Discourse s’est effectivement planté. :stuck_out_tongue:

Pour toute personne intéressée, j’ai demandé au développeur s’il y avait eu une tentative d’intégration de Discourse dans Nextcloud : Amend so that Discourse can be opened within Nextcloud? · Issue #18 · habi-dat/discoursesso · GitHub
Le développeur a répondu non, mais a indiqué qu’il/elle avait contourné le problème de l’iframe avec le plugin suivant : GitHub - soudis/discourse-allow-same-origin · GitHub
Je ne l’ai pas encore essayé moi-même.

2 « J'aime »

Désolé pour ma réponse tardive, mais j’ai récemment exploré les options d’intégration entre Nextcloud et Discourse. Vous avez probablement déjà résolu tout cela, mais je serais intéressé à comparer nos expériences. Utilisez-vous toujours Discourse et Nextcloud ensemble ? Si oui, pouvez-vous partager plus d’informations sur ce que vous essayez d’accomplir et comment cela se passe pour vous ? Je vous en serais reconnaissant !

Oui, comme vous l’avez appris, Discourse n’aime pas être chargé dans une iframe. Cela a toujours été ainsi. La solution de contournement consiste à utiliser le système de personnalisation très flexible de Discourse pour ajouter un en-tête qui correspond à votre site principal. Vous pouvez également utiliser le système de personnalisation de Nextcloud pour le mettre à jour selon vos besoins. Dans les paramètres d’administration des sites externes de Nextcloud, sélectionnez ensuite l’option redirect, ce qui signifie que le site ne permet pas l’intégration. Le lien vers Discourse s’ouvrira alors dans le même onglet du navigateur, sans iframe.

Screen Shot 2021-05-05 at 3.58.30 PM

L’application Nextcloud discoursesso à laquelle vous faites référence sert uniquement à permettre aux utilisateurs de s’authentifier sur votre site Discourse via Nextcloud. Il semble que vous la configuriez correctement. Il vous suffit d’accéder à l’URL de votre instance Discourse et d’essayer de vous connecter : vous verrez que vous êtes connecté avec vos identifiants Nextcloud.

Notez que dans Discourse, Discourse SSO a été renommé Discourse Connect. L’activer remplacera complètement toutes les autres options de connexion sur votre instance Discourse, il est donc important de l’utiliser avec précaution.

3 « J'aime »

Avez-vous eu des résultats avec ce plugin ? :eyes:

J’ai installé le plugin, mais j’obtiens toujours « Échec de la récupération des notifications Discourse ».