Facebook Javascript SDK-login-Probleme im Chrome/Safari (webkit) - Unsafe Javascript attempt

Ähnliche Fragen gestellt wurden, aber die Lösungen für diese Probleme scheinen nicht, um mir zu helfen.

Habe ich eine lokale Entwicklung Website eingerichtet, auf einer virtuellen Maschine ausgeführt: http://lamp.site

Wenn die index.php lädt, habe ich dieses javascript läuft (mit der richtigen appId):

/* facebook auth */ 
window.fbAsyncInit = function() {
    FB.init({
        appId: '01234567890',
        channelUrl: 'http://lamp.site/channel.html'
    });
};

//Load the SDK Asynchronously
(function(d){
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
    if (d.getElementById(id)) {return;}
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    ref.parentNode.insertBefore(js, ref);
}(document));

Dann, wenn auf eine Schaltfläche geklickt wird, wird die javascript-Funktion ausgelöst wird:

#HTML
<li><a class="btn" href="#" ng-click="connectToFacebook()">Connect with Facebook</a></li>

#Snippet in AngularJS Controller
$scope.connectToFacebook = function() {
    facebookConnect.authenticate(
    function(reason) { //fail
        console.log(reason);
    }, 
    function(user) { //success
        console.log('logged in',user);
        //Session.login();
    });

    return false;
}

#Factory in AngularJS module
.factory('facebookConnect', function() {
return {
    authenticate: function(fail, success) {
        FB.login(function(response) {
            console.log(response);
            if (response.authResponse) {
                FB.api('/me', success);
            } else {
                fail('User cancelled login or did not fully authorize.');
            }
        });
    }
}

Wenn ich drücken Sie die Schaltfläche in Firefox, es funktioniert! Schön, ich bekomme all die richtigen Dinge wieder aus Facebook.

Wenn ich Chrome oder Safari auf meinem PC, oder Safari Mobile auf meinem iPhone, bekomme ich die facebook-login-Fenster popup mit der Meldung "Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut.", und die Konsole folgenden Daten:

Unsafe JavaScript attempt to access frame with URL
https://www.facebook.com/dialog/permissions.request from frame with URL
http://lamp.site/index.php?page=login. Domains, protocols and ports must match.

Object
authResponse: null
status: "not_authorized"
__proto__: Object

User cancelled login or did not fully authorize. 

Habe ich meinen lokalen Test-URL in der facebook-app in der Entwickler-Sektion, die funktioniert, weil es loggt mit Firefox. Dies ist meine channels-Datei, gespeichert auf http://lamp.site/channel.html

<script src="http://connect.facebook.net/en_US/all.js"></script>

Habe ich versucht, mit der channel-Datei mit und ohne http: in der src= tag.

Die facebook-app hat die folgenden Einstellungen:

So funktioniert es im Firefox, was zum Teufel mache ich falsch. Ich kann nicht nur ermöglichen cross-site-scripting als Benutzer würde das nicht tun, und dies wird in eine mobile Website.

Jemand anderes es geschafft dieses problem zu lösen, vor kurzem?

Alle anderen ähnliche Fragen sind unbeantwortet geblieben... jemand muss behoben haben!

EDIT: ich habe eine vereinfachte version, in der neuen app-ID, auf meiner website.

http://dev.willshawmedia.com/fb/

Hier ist der Screenshot mit der app-ID von Facebook Dev application panel

Facebook Javascript SDK-login-Probleme im Chrome/Safari (webkit) - Unsafe Javascript attempt

Können Sie sich den Quellcode ansehen, es ist kopiert direkt von hier:

https://developers.facebook.com/docs/guides/web/

Und die channel-Datei existiert:

http://dev.willshawmedia.com/fb/channel.html

Kann ich nicht machen es einfacher, ich bekomme immer noch die "Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut." angezeigt wird, aber jetzt ist es nur nach vorne auf Facebook, anstatt die Authentifizierung und schließen.

Edit: mir fehlte die Website-URLs, die ich Hinzugefügt habe, diejenigen, die einfaches Beispiel ist die Arbeit.

Wie es funktioniert auf meiner live-site, muss es tun mit meinem lokalen Domänen. Aber ich habe diese Zeile in meine /etc/hosts/ Datei:

192.168.0.13 lamp.site

Das ist die IP-Adresse der VirtualBox Ubuntu server auf meinem laptop laufen. Ich kann surfen, die Website in Ordnung.

  • Ich habe das gleiche problem, mit PhoneGap-plugin für native Facebook-Authentifizierung. Gestern, als ich das Letzte mal den app - es funktionierte. Heute - Fehler. Bitte Versuchen Sie es später erneut 🙁 Hoffe, dies ist eine Globale Facebook-Fehler
  • warum tun Sie das laden der fb-sdk asynchron? haben Sie versucht, es zu laden in Standard-Weg?
  • Ich habe nicht versucht, es zu tun die nicht async, werde ich versuchen, aber das Facebook Docs zeigt die asynchrone Art und Weise, in Ihrer Beispiel: developers.facebook.com/docs/reference/javascript. Es ist besser für die Ladezeiten für eine Sache.
  • Wenn ich mit der synchronen Methode bekomme ich das popup und der gleiche Fehler, aber ok, nur dauert es bei mir auf facebook, es nicht umleiten mir. Und firefox nicht mehr funktioniert.
InformationsquelleAutor Pete | 2012-10-11
Schreibe einen Kommentar