web-dev-qa-db-ja.com

Facebookがセキュリティ警告を表示:上記のURLをパスワードと同様に扱い、誰とも共有しないでください

コンテンツを投稿するアプリケーションにFacebookを統合しました。アプリケーションのバージョン1.2までは機能していましたが、次のようにログインした直後にセキュリティ警告が表示されます。

このセキュリティ警告の奇妙な点は、以前のように何の警告もなく、私のFacebookアカウントの1つで適切に機能することですが、他のアカウントでもこの警告が表示されます。問題のスクリーンショットを添付しました:

enter image description here

12
iDhaval

長い間、この問題を検索するためにインターネットに費やしてください。最後に私はそれについて答えを得ました。

Facebookアカウントにログイン>移動プライバシー設定>クリック左側のセキュリティタグページ>> 安全なブラウジングを無効にする

シミュレーターをリセットしてから、アプリケーションを実行して再度ログインすると、確実に機能します

1
iDhaval

すべてのユーザーが安全なブラウジングを無効にすることはできないため、安全なブラウジングを無効にすることは価値がありません。

私は解決しました。ここで私の答えを確認してください。 Facebookのセキュリティ警告からの脱出

3
Mansi Panchal

簡単に言えば、標準のFacebookではなく独自のredirect_uriを使用すれば問題を解決できるということです。アクセストークンが返されると、標準のwww.facebook.com/connect/login_success.htmlページにはタイマーがあり、アプリがアクセストークンを取得する前にURLが変更される可能性があります。

この問題は、インターネット遅延に関連して発生する可能性があります。 2人の顧客から、ミャンマーとイギリスでこの問題について報告されました。他の誰にとっても問題はありません。次のように承認しているとします。

https://www.facebook.com/v2.10/dialog/oauth?client_id=999999999999999&redirect_uri=https://www.facebook.com/connect/login_success.html&response_type=token&scope=user_photos,user_events&display=popup

デフォルトのredirect_uri( https://www.facebook.com/connect/login_success.html )の場合、facebookはURLのパラメーターでaccess_tokenを返しますが、そのページのhtml本文には2つのタイマーが含まれています:

    Success <br/>
<b id="warning" style="display: none; color:red">
    SECURITY WARNING: Please treat the URL above as you would your password and do not share it with anyone. 
    See the <a href="http://l.facebook.com/l.php?u=xxxxxxx" target="_blank" data-lynx-mode="hover">Facebook Help Center</a> for more information.
</b>
<script type="text/javascript">
    document.domain = 'facebook.com';
    if (window == top) {
        setTimeout(function () { document.getElementById("warning").style.display = "block"; }, 2000);
    }
    setTimeout(function () { if (window.history.replaceState) { window.history.replaceState({}, "", "\/connect\/blank.html#_=_"); } }, 2000);
</script>

いずれかのタイマーが起動すると、access_tokenを削除するURLが変更されます。したがって、変化する前にそれをキャッチする限り、すべてが機能します。私たちのケースでは、Windowsの下に埋め込まれたブラウザーコントロールを使用して、ナビゲートされたリンクを監視していました。このタイムアウトが発生する前にコードがaccess_tokenを含むナビゲーションイベントを受信できる限り、すべてが機能しました。インターネット接続の遅延、およびユーザーの遅いコンピューターのいくつかの組み合わせがこの問題をどのように引き起こしたかを特定することはできませんでしたが、これで解決しました。

FacebookアプリのFacebookログイン設定で、有効なOAuthリダイレクトURIのリストに独自のURIを追加します。独自のHTMLページにリダイレクトすると、Facebookのタイムアウトを回避できます。

0
truefish