ポップアップ(window.open
)を使用してReactにOAuthを実装する方法に興味があります。
たとえば、私は持っています:
mysite.com
—これがポップアップを開く場所です。passport.mysite.com/oauth/authorize
- 現れる。
主な質問は、window.open
(ポップアップ)とwindow.opener
(既知のように、クロスドメインセキュリティのためにwindow.openerがnullであるため、使用できないため)間の接続を作成する方法です。
⇑
window.opener
あなたは(セキュリティ上の理由のために)別のホストに移動したときに削除され、その周りに方法はありません。可能であれば、フレーム内で支払いを行うことが唯一のオプションです。最上位のドキュメントは同じホストにとどまる必要があります。
スキーム:
可能な解決策:
では、2019年に推奨される最善のアプローチは何でしょうか?
Reactのラッパー-https ://github.com/Ramshackle-Jamathon/react-oauth-popup
@KhanhTO、ええ、私はについて完全に同意します
—
Arthur
localStorage
が、同じドメインでしか機能しないため、私の状態では機能しません
OAuthを終了すると、子ウィンドウがドメインにリダイレクトされ、親と同じドメインに移動します
—
Khanh TO
@KhanhTO、うーん、これは素晴らしいアイデアです!私は知っているべき
—
アーサー
ブラウザー
—
Khanh TO
window.opener
がドメインにリダイレクトされた後に復元した方がよいでしょうが、そうではありません
setInterval
localStorageのフォールバックとして使用可能