wake-up-neo.com

Facebook App - Die Domain dieser URL ist nicht in den Domains der App enthalten. Warum?

Beim Versuch, mich mit einer Facebook-App anzumelden, wird die folgende Fehlermeldung angezeigt:

URL kann nicht geladen werden: Die Domain dieser URL ist nicht in den Domains der App enthalten. Um diese URL laden zu können, fügen Sie alle Domains und Subdomains Ihrer App zum Feld App-Domains in Ihren App-Einstellungen hinzu.

Wie Sie auf dem folgenden Bild sehen können:

enter image description here

URL: http://www.facebook-php-test.com

Unten ist die Konfiguration, die ich in meiner Facebook-App festgelegt habe.

( Hinweis: aus Datenschutzgründen habe ich die Werte für App ID und App Secret auf dem Bild geändert)

enter image description here

Der Code für diese grundlegende Beispielanwendung befindet sich in diesem GitHub-Repository:

https://github.com/zeuscronos/facebook-php-test.com

Ich weiß wirklich nicht, warum dort the domain of this URL isn't included in the app's domains steht, wenn es tatsächlich da ist.

Auf dem Feld: App Domains Ich habe es mit beiden Domains gleichzeitig versucht:

  • facebook-php-test.com
  • www.facebook-php-test.com

aber kein erfolg.

Die generierte Anmelde-URL lautet wie folgt:

https://www.facebook.com/v2.10/dialog/oauth?client_id=012345678901234&state=d3758e484d539bebd6505427aaf1fa3b&response_type=code&sdk=php-sdk-5.6.1&redirect_uri=http%3f%a com% 2Ffb-callback.php & scope = email% 2Cuser_friends% 2Cuser_photos

Ich habe die Domain facebook-php-test.com als virtuellen Host auf einem Apache-Server konfiguriert.

Ich muss sagen, dass ich viel mit dem Facebook PHP SDK gearbeitet habe und dies ist das erste Mal, dass ich damit zu kämpfen habe. Eigentlich habe ich dieses Problem mit einer anderen großen Anwendung, mit der ich gearbeitet habe, bekommen, nachdem ich einige Stunden lang versucht hatte, das Problem zu lösen. Ich habe diese Dummy-Anwendung erstellt, um herauszufinden, woher das Problem stammt.

Ich habe viele Dinge ohne Erfolg versucht.

Irgendeine Idee, wie man das löst?

Vielen Dank.

EDIT 01

Auf Vorschlag von Mr.Geeker comment habe ich folgendes gemacht ...

Produkt hinzugefügt: Facebook Login und wie folgt konfiguriert:

 enter image description here

Dann konnte ich endlich weitermachen und wurde um Erlaubnis gebeten:

 enter image description here

Aber leider habe ich nach der Erteilung von Berechtigungen Folgendes erhalten:

 enter image description here

Hast du eine Idee, wie du von diesem Punkt aus weitermachen kannst?

EDIT 02 - LÖSUNG

Ich habe das Deaktivieren der Option beendet: Use Strict Mode for Redirect URIs unter Client OAuth Settings. Sie sagen, es ist strongly recommended hat diese Funktion On, aber ich konnte dies nicht zum Laufen bringen mit dieser On.

Übrigens habe ich auch deaktiviert: Client OAuth Login, da meine App es nicht verwendet.

Die einzige Funktion, die ich unter Client OAuth Settings aktivieren kann, ist: Web OAuth Login.

4
Angel
Facebook hat nun einige Funktionen als Plugins. Wählen Sie auf der linken Seite Produkte aus und fügen Sie Produkt hinzu. Wählen Sie dann Facbook Login. Ziemlich direkt von hier aus werden alle Oauth-Optionen angezeigt.

Wie ursprünglich beantwortet hier

2
Mr.Geeker

Im März 2018 aktualisierte Facebook die API und zwang alle Apps, den strikten Modus zu aktivieren.

Damit dies funktioniert, müssen Sie die vollständige Rückruf-URL in das Feld Gültige OAuth-Weiterleitungs-URIs eingeben. Wenn Sie zu " https://www.example.com/facebook/callback " umleiten, muss der vollständige URI (ohne Parameter) enthalten sein:

 enter image description here

Die Domäne muss in den Feldern der App-Domänen und der Website-Website-URL auf der Seite mit den Grundeinstellungen festgelegt werden:

 enter image description here

Wenn nichts davon funktioniert und "URL nicht geladen werden kann: Die Domäne dieser URL ist nicht in den Domänen der App enthalten." Die Meldung wird ständig angezeigt, Überprüfen Sie, ob Sie die neueste Version des SDK haben. Ich könnte es nach dem Update von de PHP SDK von Version 5.5 auf 5.6.2 zum Laufen bringen

2
Jorge Palacio

Ich verwende PHP 5.5 und habe den Fehler gefunden.

Die PHP Facebook API-VERSION = '5.5.0', DEFAULT_GRAPH_VERSION = 'v2.9' fügte den URI? Code = XXX in meine Rückrufseite wie folgt hinzu:

mydomainExample.com/callbackFacebook.php? code = XXXXXXX

und ich habe den Quellcode geändert, um die Zeichenfolge nach '?' zu entfernen. Jetzt ist die Callback-URL nur noch 

mydomainExample.com/callbackFacebook.php

Das Problem kann in der Datei Facebook/Helpers/ FacebookRedirectLoginHelper.php in der getAccessToken - Funktion behoben werden. Ich fügte ein " if " wie unten in Zeile 226 hinzu und das Problem ist weg:

$redirectUrl = $redirectUrl ?: $this->urlDetectionHandler->getCurrentUrl();

//the next 3 lines was added to avoid the bug (fixed)
if(strripos($redirectUrl, "?")){
  $redirectUrl = substr($redirectUrl, 0, strripos($redirectUrl, "?"));
}

// At minimum we need to remove the state param
$redirectUrl = FacebookUrlManipulator::removeParamsFromUrl($redirectUrl, ['state']);
0
ferreirabraga