Estou interessado em como implementar o OAuth no React usando popup ( window.open
).
Por exemplo, eu tenho:
mysite.com
- é aqui que eu abro o pop-up.passport.mysite.com/oauth/authorize
- Aparecer.
A principal questão é como criar conexão entre window.open
(pop-up) e window.opener
(como é conhecido o window.opener é nulo devido à segurança entre domínios, portanto, não podemos mais usá-lo).
⇑
window.opener
é removido sempre que você navega para um host diferente (por motivos de segurança), não há como contorná-lo. A única opção deve ser o pagamento em um quadro, se possível. O documento principal precisa permanecer no mesmo host.
Esquema:
Soluções possíveis:
- Verifique uma janela aberta usando o
setInterval
descrito aqui . Usando armazenamento cruzado (não vale a pena imho).
Então, qual é a melhor abordagem recomendada em 2019?
Wrapper para React - https://github.com/Ramshackle-Jamathon/react-oauth-popup
localStorage
, mas ele só funciona para o mesmo domínio para que ele não funciona na minha condição
window.opener
após redirecionando de volta para o nosso domínio, mas este não é o caso
setInterval
poderia ser usado como alternativa para localStorage