Je suis intéressé par la façon d'implémenter OAuth dans React en utilisant popup ( window.open
).
Par exemple, j'ai:
mysite.com
- c'est là que j'ouvre le popup.passport.mysite.com/oauth/authorize
- apparaitre.
La question principale est de savoir comment créer une connexion entre window.open
(popup) et window.opener
(comme on le sait, window.opener est nul en raison de la sécurité entre domaines, nous ne pouvons donc plus l'utiliser).
⇑
window.opener
est supprimé chaque fois que vous accédez à un hôte différent (pour des raisons de sécurité), il n'y a aucun moyen de le contourner. La seule option devrait être d'effectuer le paiement dans un cadre si cela est possible. Le document supérieur doit rester sur le même hôte.
Schème:
Solutions possibles:
- Vérifiez une fenêtre ouverte en utilisant
setInterval
décrit ici . Utiliser le stockage croisé (ça ne vaut pas la peine à mon humble avis).
Quelle est donc la meilleure approche recommandée en 2019?
Wrapper pour React - https://github.com/Ramshackle-Jamathon/react-oauth-popup
localStorage
, mais cela ne fonctionne que pour le même domaine, donc cela ne fonctionne pas dans mon état
window.opener
après la redirection vers notre domaine, mais ce n'est pas le cas
setInterval
pourrait être utilisé comme solution de rechange pour localStorage