Nous hébergeons Discourse dans un iframe, donc l’authentification oAuth de Google ne fonctionne pas vraiment car ils ont des options x-frame pour l’empêcher.
Ce que nous aimerions faire, c’est utiliser window.open et ouvrir l’URL oAuth “petite” pour Facebook et Google, puis, à la fermeture, rediriger correctement window.opener. Est-ce possible avec les paramètres de Discourse ? Ou où se trouve le code pour effectuer la redirection de localisation, afin que nous puissions le modifier ?
Je ne pense pas que ce soit officiellement pris en charge. Discourse est une application monopage (Single Page Application) et il n’y a aucune garantie lorsqu’il s’agit de l’exécuter dans un iframe.
Je ne demande pas de garanties. Juste savoir où se trouve le Javascript qui change window.location afin que je puisse le remplacer par window.open
Discourse a en fait une nouvelle variable de configuration qui lui permet d’être affiché dans des iframes, et cela fonctionne. Regardez par exemple https://qbix.com/ecosystem ou https://intercoin.app
Oh, c’est intéressant, oui vous avez raison, et cela fait en fait 3 ans . C’est caché cependant, ce qui pourrait indiquer qu’il a certaines limitations.
Oui ! Donc, ma question principale est : où se trouve le code qui est déclenché lorsque quelqu’un clique sur “Se connecter avec Facebook ou Google” ? Comment puis-je le remplacer ? Peut-être dans le JS du thème du site, pour ne pas avoir à développer de plugin ?
Tout ce que je veux faire, c’est remplacer window.location.href = … par window.open().