ユーザーの Facebook 情報の一部を表示する iframe があります。サーバーが iframe のコンテンツを生成するとき、アクセス コードの有効期限が切れていることを示す Facebook からの応答を確認し、再認証シーケンスを iframe 内で発生するように設定します。ただし、サーバーがユーザーがログインしていないことを検出すると、新しいブラウザー ウィンドウにバウンスして、ユーザーをサインアップに導きます。
最近、iframe が空白になる傾向があることに気付きました。この問題は、実際にはユーザーがサインインしていないのに、Facebook API がアクセス コードの有効期限が切れていると報告することがあると思われます。アクセス コードを更新しようとすると、Facebook がログイン ページにリダイレクトされます。しかし、ログイン ページは「X-Frame-Options:DENY」ヘッダーで提供されるため、ブラウザは iframe に何も表示することを拒否します。URL を呼び出してアクセス コードを更新すると、このプロセスを制御することはできません。また、iframe 内のコンテンツが別のドメインにあるため、ホスティング ページは、この状況がいつ発生したかを検出することさえできません。
これに対する解決策を知っている人はいますか?理想的には、Facebook API が期限切れのアクセス トークンをより正確にレポートすることですが、それができない場合は、ログイン ページを新しいウィンドウにリダイレクトするように設定できれば便利です。