Facebook et Google OAuth dans une nouvelle fenêtre ?

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 ?

1 « J'aime »

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.

Voir plus loin :

1 « J'aime »

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

3 « J'aime »

Oh, c’est intéressant, oui vous avez raison, et cela fait en fait 3 ans :sweat_smile:. C’est caché cependant, ce qui pourrait indiquer qu’il a certaines limitations.

2 « J'aime »

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().

1 « J'aime »