Où dois-je aller pour définir la variable d'environnement `DISCOURSE_ENABLE_CORS` ?

1 « J'aime »

Je pense que vous devez définir
DISCOURSE_ENABLE_CORS: true
dans votre app.yml (quelque part dans la section env)

2 « J'aime »

Ne devrait-il pas définir la variable DISCOURSE_ENABLE_CORS pour discourse ?

1 « J'aime »

Je ne suis pas sûr de ce que vous dites, mais essayez de faire ce qui a été recommandé. Je suis à peu près sûr que vous pouvez simplement faire un ./launcher destroy app;./launcher start app plutôt qu’une reconstruction complète.

3 « J'aime »

Merci pour votre réponse. Désolé de ne pas avoir été assez clair dans mon précédent message.

J’utilise une instance hébergée de Discourse et je vais intégrer Discourse à mon site web. Lorsque j’essaie d’obtenir l’objet contentDoument de l’iframe de Discourse intégré, j’ai trouvé la limite de cross-origin. Dans la page des paramètres d’administration, j’ai remarqué le paramètre “cors origins” comme indiqué sur l’image du sujet. J’ai ensuite ajouté mon URL d’origine de test, mais cela n’a pas fonctionné. Et j’ai remarqué l’astuce : La variable d'environnement DISCOURSE_ENABLE_CORS doit être définie sur true pour activer CORS. Cependant, je ne trouve pas où définir DISCOURSE_ENABLE_CORS dans les paramètres d’administration.
Je voudrais savoir comment définir DISCOURSE_ENABLE_CORS, ou si ma configuration cross-domain ne fonctionne pas, est-ce lié à ce paramètre.

1 « J'aime »

L’intégration n’est pas mon fort, mais je pense que vous la définiriez dans /admin/customize/embedding plutôt que de changer la variable d’environnement ?

4 « J'aime »

Merci pour votre réponse. J’ai essayé, mais cela n’a pas fonctionné.

1 « J'aime »

Si vous voulez que nous vous aidions, vous devez expliquer en détail ce que vous avez essayé.

1 « J'aime »

C’est ce que j’ai configuré dans /admin/customize/embedding, mais cela n’a aucune utilité pour le cross-origin.

Je ne pense pas que vous puissiez faire cela.

Il existe un paramètre de site caché qui permet d’intégrer un iframe, mais je soupçonne qu’il n’est pas disponible sur les plans standard ou professionnels. Vous pouvez contacter votre contact de support pour demander.

L’intégration de Discourse dans un iframe n’est pas officiellement prise en charge.

2 « J'aime »

Le iframe est créé par un script js officiel. J’utilise les codes fournis sur /admin/customize/embedding, comme ci-dessous :


Je dois maintenir les parties intégrées cohérentes avec le schéma de couleurs de mon site Web, j’ai donc dû accéder à l’iframe bien que l’iframe n’ait pas été créé par moi.

@mikeguo quelle est la plateforme du site dans lequel vous essayez d’intégrer vos sujets Discourse ?

Par exemple, s’agit-il d’un site Wordpress ou d’un blog Ghost ?

Veuillez fournir une URL vers un article sur le site de destination.

Tout ce que je peux voir, c’est ceci (d’après la capture d’écran du code dans votre sujet ci-dessus) :

https://e53c-185-143-220-5.eu.ngrok.io/

Donc, par exemple, j’ai utilisé la variable d’environnement ‘DISCOURSE_ENABLE_CORS’ comme décrit dans cet article pour afficher du contenu de mon forum Discourse sur une page de mon blog Ghost…

Cependant, la fonctionnalité que vous semblez essayer d’utiliser à partir de votre code posté ci-dessus ici…

…semble indiquer que vous essayez d’intégrer des sujets de votre forum Discourse EN TANT QU’ARTICLES sur votre site externe, ce qui est un cas d’utilisation différent.

Nous avons besoin que vous expliquiez mieux ce que vous essayez de faire ici…

1 « J'aime »

Merci beaucoup pour votre explication détaillée.
https://algo.monster est mon site web dans lequel je souhaite intégrer Discourse. Plus précisément,
intégrer Discourse dans la page d’article pour afficher les commentaires, et remplacer Cusdis que j’utilise. Par exemple,
l’article https://algo.monster/problems/math-basics, et les commentaires :


Mon site web https://algo.monster n’utilise pas de plateforme de blog, ni Wordpress ni Ghost. Mon site web est implémenté avec mon propre code et déployé sur mon propre serveur cloud.
En utilisant les codes fournis sur /admin/customize/embedding, Discourse intégré s’affiche correctement.
Le problème que j’espère résoudre en configurant DISCOURSE_ENABLE_CORS est le suivant :

Cette URL est celle que j’utilise pour les tests et ne devrait pas causer de problèmes cross-origin.

Merci @mikeguo – qu’avez-vous mis dans votre extrait de script pour le discourseEmbedUrl là où il est indiqué ‘REPLACE_ME’ ?

Pour lier des sujets existants au lieu d’en créer automatiquement, j’ai remplacé le paramètre discourseEmbedUrl par topicId, comme suit :

Merci encore @mikeguo – désolé, mais cela dépasse désormais mes capacités d’aide… J’espère que quelqu’un d’autre ici pourra vous conseiller…

1 « J'aime »

Merci pour votre aide de toute façon :sparkling_heart:

1 « J'aime »