web-dev-qa-db-fra.com

Facebook donne un avertissement de sécurité: traitez l'URL ci-dessus comme si vous utilisiez votre mot de passe et ne le partagez pas avec qui que ce soit.

J'ai intégré Facebook à mon application pour publier du contenu. Il fonctionnait jusqu’à la version 1.2 de l’application, mais je reçois maintenant un avertissement de sécurité juste après la connexion en tant que ci-dessous.

La chose étrange à propos de cet avertissement de sécurité est que cela fonctionne correctement pour l'un de mes comptes Facebook, sans aucun avertissement comme auparavant, mais je reçois cet avertissement avec mon autre compte. J'ai joint une capture d'écran du problème:

enter image description here

12
iDhaval

Après un long moment passé sur Internet pour rechercher ce problème. Enfin, j'ai eu la réponse à ce sujet.

Connectez-vous à votre compte Facebook > Allez à Paramètres de confidentialité > Cliquez sur Étiquette de sécurité sur le côté gauche de Page> Alors Désactivez la navigation sécurisée  

Maintenant, réinitialisez votre simulateur, puis lancez l'application et connectez-vous à nouveau, cela fonctionnera à coup sûr. 

1
iDhaval

Désactiver la navigation sécurisée ne vaut pas la peine, car nous ne pouvons pas obliger tous les utilisateurs à désactiver la navigation sécurisée.

J'ai résolu. Vérifiez ma réponse ici. Avertissement de sécurité Escape from Facebook

3
Mansi Panchal

La réponse courte est que le problème peut être résolu si vous utilisez votre propre redirect_uri plutôt que celui standard de facebook. Lorsque le jeton d'accès est renvoyé, la page standard www.facebook.com/connect/login_success.html comporte un minuteur qui modifie l'URL éventuellement avant que votre application ne puisse récupérer le jeton d'accès.

Ce problème peut être lié à la latence Internet. Deux clients ont signalé des problèmes avec celui-ci au Myanmar et un au Royaume-Uni. Aucun problème pour quelqu'un d'autre. En supposant que vous autorisez comme ceci:

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

Pour le paramètre redirect_uri par défaut ( https://www.facebook.com/connect/login_success.html ), facebook renvoie le paramètre access_token dans les paramètres de l'URL, mais le corps html de cette page contient deux minuteurs:

    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>

Lorsque l'une des minuteries est déclenchée, l'URL qui supprime access_token est modifiée. Donc, tant que vous comprenez cela avant que cela change, tout fonctionne. Dans notre cas, nous utilisions un contrôle de navigateur intégré sous Windows et surveillions les liens parcourus. Tant que le code peut recevoir un événement de navigation contenant access_token avant que ce délai ne se produise, tout fonctionnera. Nous n'avons jamais été en mesure de déterminer la cause de ce problème par la latence de la connexion Internet et éventuellement par une combinaison de l'ordinateur lent d'un utilisateur, mais cela a résolu le problème.

Dans les paramètres de connexion Facebook de votre application facebook, ajoutez vos propres URI à la liste des URI de redirection OAuth valides. Si vous redirigez vers votre propre page HTML, vous pouvez éviter le délai d'attente de Facebook.

0
truefish