2016-04-02 15 views
0

私のアプリは他のウェブサイトに埋め込まれているが、最も重要な機能の1つはFacebookにログインするウィジェットです。iFrameからFacebookへのログインを許可する方法

今は問題があります。
私はiframeタグを持っているだけでなく、インラインフレームの内側に私が持っている:

<a href="http://roomtobid.com/social/login/redirect/facebook" class="btn btn-info btn-lg col-md-12" >Facebook</a> 

を、私はをクリックしてログインしようとすると、今、ちょうど何も起こりませんでした。私は、ブラウザのコンソールを見ると はまた、私はエラーを取得する:

Refused to display ' https://www.facebook.com/login.php?skip_api_login=1&api_key=17499948800008 …m5xN3sZ3hrPQWQ44FYQPR1yPpsDwLuvoTP9jtZq6%23_%3D_&display=page&locale=sr_RS' in a frame because it set 'X-Frame-Options' to 'DENY'.

私は私の問題を解決するにはどうすればよいですか?

また、私は<a>タグにtarget="_top"を追加しようとしていますが、最初にfacebookに送ってから、元のドメインのコールバックとしてiFrameに戻ってきません。

これを解決する方法はありますか?

zopimチャットでは、訪問者がfacebookでログインすることができますが、Facebookのログインは新しい小さなウィンドウに開きます。

+1

iframeの代わりにポップアップを使用します。 –

+0

しかし、はい、iframeがポップアップウィンドウ内にあります... – Andrew

+0

したがって、iframeなしでポップアップを作成します。 –

答えて

0

but then send me to first to facebook and then as callback to original domain not back to iFrame

もちろんです。

これはredirect_uriとして指定されたアドレスにリダイレクトされ、そのアドレスはアプリケーションドメインrespと一致する必要があります。アプリ設定で有効なOAuthリダイレクトURIとして指定できます。

唯一できることは、iframeがオンになっているページのURLをパラメータとしてアプリコールバックURLに入れているため、Facebookログインがリダイレクトされた後にアプリがリダイレクトできるようになりますあなたのアプリに戻ってください。

セッションに入れてみることもできますが、ユーザーがウィジェットを埋め込んだ複数のページを開いてセッションクッキーとサードパーティのCookieブロッキングで簡単に問題が発生した場合は問題があります。

それでも、最初は「親」ページのURLを取得する問題が残っています。親ページは、その情報を、iframe srcのウィジェットのアドレスに追加するGETパラメータのように、まずウィジェットに明示的に転送する必要があります。 (直接URLか、クライアント識別子の何らかの並べ替えのいずれかをデータベース内で検索します)

+0

zopimチャットユーザーの方はfacebookで簡単にサインインできます。ウィジェットにサインインしてから新しいfacebookを開くと小さなウィンドウが開き、認証が終わったらzopimチャットにサインインしていることがわかります – Andrew

関連する問題