Problème de SSO du forum Discourse dans une iframe

Bonjour, je souhaite intégrer le forum dans un site web via une iframe.

Le forum se connectera via SSO. L’intégration par iframe fonctionne correctement. Cependant, le processus SSO ne peut pas définir le cookie de connexion car l’attribut ‘samesite lax’ est défini côté Discourse. Quelqu’un a-t-il également rencontré ce problème ? Ou quelqu’un a-t-il réussi à intégrer son forum dans un site web via une iframe et à le connecter via SSO ?

Merci d’avance.

Je tiens à vous informer que Discourse ne fonctionne pas bien (voire pas du tout) dans une iframe. Vous vous cherchez donc déjà des ennuis :wink:

Merci pour cette réponse extrêmement rapide :slight_smile:

image

Hmm, d’accord. J’ai trouvé un paramètre dans la section des paramètres de Discourse qui permet d’intégrer le forum dans un autre site via iframe. Ce paramètre fonctionne (si vous êtes déjà connecté et disposez du cookie).

Le seul problème est le processus SSO. Notre processus SSO fonctionne parfaitement lorsque le forum est ouvert dans un nouvel onglet. Cependant, l’iframe interrompt ce processus car le cookie contenant le jeton d’accès ne peut pas être défini en raison de la différence de domaine. Cela entraîne une boucle infinie dans l’iframe, car Discourse ne trouve pas ce cookie et relance le processus SSO.

Comme cela est très important pour nous, existe-t-il une option pour intégrer le forum via iframe tout en utilisant l’authentification SSO ?

Ce paramètre est assez expérimental et n’est pas vraiment pris en charge dans un environnement SSO. La redirection de retour nécessiterait des manipulations complexes pour renvoyer toutes les informations dans le cadre.

Je vous recommande vivement d’opter pour un en-tête et un pied de page personnalisés ; il est très simple de les configurer afin qu’ils ressemblent au site principal.

Merci pour votre réponse.

Nous allons essayer d’utiliser un en-tête et un pied de page personnalisés.
Y a-t-il des projets prévus dans un avenir proche pour permettre au système Discourse SSO de fonctionner dans un iframe ? Cette fonctionnalité serait très utile pour les personnes souhaitant intégrer un forum sur leur site sans avoir à implémenter toutes les API de Discourse.

Quel rapport y a-t-il entre une iframe et les API ?

Cher Stephan,

Nous utilisons déjà le forum avec SSO dans une webview au sein d’une application. Nous souhaitons intégrer le forum dans un nouveau site web que nous sommes en train de construire. Je pense que nous avons deux options pour cela :

Option 1 : implémenter plusieurs API (par exemple, récupérer des publications, des catégories et publier sur Discourse).

Option 2 : intégrer le forum dans notre site web via un iframe en combinaison avec SSO. (solution économique et nous pouvons vérifier si le forum est un succès avant d’y investir davantage).

Ainsi, pour répondre à votre question : l’option iframe n’a rien à voir avec les API.

Y a-t-il des projets prévus dans un proche avenir pour permettre à Discourse SSO de fonctionner dans un iframe ?

Le protocole SSO redirige vers votre site, vous effectuez ensuite l’authentification et redirigez vers notre site.

Si l’on souhaite configurer une IFRAME ici, la redirection que vous effectuez une fois l’utilisateur authentifié devrait aller vers votre site, qui devrait ensuite réaliser une sorte de manipulation pour transmettre les informations de retour dans l’IFRAME.

Cela est techniquement complexe et très difficile à mettre en œuvre correctement. L’autre option, consistant en un pied de page et un en-tête personnalisés, est techniquement beaucoup plus simple à implémenter, beaucoup moins sujette aux erreurs et, en prime, plus rapide car vous n’êtes pas contraint d’effectuer deux requêtes distinctes pour construire une page.