Lassen Sie mich zunächst sagen, dass ich seit einiger Zeit nach einer Antwort auf diese Frage gesucht habe ...
Ich versuche, Facebook OAuth so einzurichten, dass es mit meiner Anwendung funktioniert, die lokal auf meinem Computer entwickelt wird. Mit der Facebook-Autorisierung funktionierte alles einwandfrei, localhost
bis ich von einem anderen Domainnamen (der noch lokal auf meinem Computer ist) gewechselt bin. Jetzt wird der folgende Fehler 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 Domänen und Subdomänen Ihrer App zum Feld App-Domänen in Ihren App-Einstellungen hinzu.
Meine Hosts-Datei enthält 127.0.0.1 photovote.dev
(funktioniert perfekt)
Meine Weiterleitung in meiner App (mit Socialite) ist http://photovote.dev/auth/facebook/callback
In meinen Facebook App Einstellungen ...
- Meine App Domain ist
photovote.dev
- Meine Site-URL lautet
http://photovote.dev/
- Meine gültigen OAuth-Umleitungs-URIs sind
http://photovote.dev/auth/facebook/callback
Die URL zum Zeitpunkt der Fehlermeldung lautet ..
https://www.facebook.com/v2.5/dialog/oauth?
Ich weiß nicht, was das Problem ist ...
Antworten:
Dies geschieht normalerweise, wenn Sie bei der Erstellung der App in Facebook die falschen Daten eingegeben haben. Oder haben Sie eine URL einer vorhandenen App geändert?
Können Sie bitte die Einstellungen Ihrer APP auf dieser Seite überprüfen?
https://developers.facebook.com/apps
Wählen Sie die richtige App aus und klicken Sie auf die Schaltfläche Bearbeiten.
Überprüfen Sie, ob die URLs und Pfade korrekt eingegeben wurden und auf die Site verweisen, auf der Sie das Ultimate Facebook-Plugin installiert haben.
quelle
Für den Fall, dass jemand darauf stößt und nach diesen Einstellungen sucht (wie ich es war)
Sie müssen
Zusätzliche Informationen: Stellen Sie sicher, dass Sie die Rückruf-URL wie
http://localhost:3000
in dasValid OAuth redirect URIs
Feld auf der Einstellungsseite von Facebook Login einfügenquelle
Valid OAuth Redirect URIs
und durch Hinzufügen dieses Feldwerts wurde die fehlerhafte FB-Fehlermeldung bezüglich der Aktualisierung Ihres Feldes behobenApp Domains
.Ich hatte das gleiche Problem. Ich habe es gelöst, indem ich meinen OAuth-Umleitungs-URI als Argument zum Funktionsaufruf getAccessToken hinzugefügt habe:
Wenn kein Argument an diese Funktion gesendet wird, generiert das SDK den Umleitungs-URI selbst, der funktionieren sollte, in meinem Fall jedoch nicht.
Hoffe das hilft jemandem.
quelle
Stellen Sie sicher, dass Ihre App öffentlich ist. Klicken Sie auf + Produkt hinzufügen. Gehen Sie jetzt zu Produkte => Facebook-Anmeldung. Gehen Sie nun wie folgt vor:
Gültige OAuth-Umleitungs-URIs: example.com/
Deaktivieren Sie die Rückruf-URL: https://example.com/facebookapp
quelle
Deauthorize Callback URL : https://example.com/facebookapp
benötigt? Wird es ohne das funktionieren?Folgendes habe ich getan, um dieses Problem zu lösen:
Grundsätzlich:
1) Aktivieren Sie " Embedded Browser OAuth Login "
2) Deaktivieren Sie " Strengen Modus für Umleitungs-URIs verwenden " und geben Sie einen Umleitungs-URI ein, wie ich es getan habe.
3) Lassen Sie alle übrigen Optionen unverändert.
4) Speichern Sie Ihre Änderungen.
5) Viel Spaß :)
quelle
Ich hatte das gleiche Problem und es kam von einer falschen client_id / Facebook App ID.
Haben Sie Ihre Facebook-App auf "öffentlich" oder "online" umgestellt? Wenn Sie dies tun, erstellt Facebook eine neue App mit einer neuen App-ID.
Sie können den Parameterwert "client_id" in der URL mit dem in Ihrem Facebook-Dashboard vergleichen.
quelle
So habe ich es behoben: Ich habe das Textfeld Valid OAuth Redirect URIs aufgerufen und die genaue URL festgelegt, nicht nur die Domain :
Vor:
https://my-website.com
nach dem:
https://my-website.com/facebookoauth/facebooklogin
(Die URL kann in Ihrem Fall unterschiedlich sein. Überprüfen Sie sie in der Adressleiste des Browsers.)
Dies wurde durch die Einstellung Strikten Modus für Umleitungs-URIs verwenden verursacht, die in der Position Ja gesperrt war.
quelle
Ich hatte dieses Problem heute, ich finde die Facebook-Dokumentation und das SDK respektlos und arogant gegenüber anderen Entwicklern, um es gelinde auszudrücken.
Neben den "App-Domains" an zwei verschiedenen Orten ohne viele Informationen (3, wenn Sie eine "Web" -Plattform hinzufügen) müssen Sie auch zu App-Produkten / Facebook-Login / -Einstellungen gehen und Ihre Weiterleitungs-URL unter Gültige OAuth-Umleitungs-URIs hinzufügen
Der Fehler sagt NICHTS über die Oauth-Einstellungen aus.
quelle
Stand 2017-10.
Lösung, die mein Problem gelöst hat.
Derzeit macht diese FB diese Überraschung.
Die Einstellungen zum Anpassen finden Sie hier https://developers.facebook.com/apps/[your_app_itentifier‹/fb-login/ .
Der nachgestellte Schrägstrich ist wichtig. Sie müssen in Ihrem App-Code und in den FB-Administratoreinstellungen übereinstimmen. Dies ist also eine Konfiguration irgendwo in Ihrem Code (siehe unten, wie Sie einen Domainnamen für eine Entwickler-App erhalten):
und hier
Bearbeiten Sie die
host
Datei, um einen Domänennamen für eine App auf einem lokalen Windows-Computer abzurufen . Benutzerdefinierte Namen sind gut , um all die zu entledigenlocalhost:8080
,0.0.0.0:30303
,127.0.0.0:8000
, so weiter. Weil einige Dienste von Drittanbietern wie FB es manchmal nicht zulassen, dass Sie127.0.0.0
Namen verwenden.Unter Windows 10 ist die
hosts
Datei hier:Sichern Sie die ursprüngliche Datei und erstellen Sie eine Kopie mit einem anderen Namen. (Funktioniert nicht in nativem Windows CMD. Ich verwende Git für Windows , es enthält viele Unix-Befehle.)
Fügen Sie dies hinzu
hosts
Um den Portteil loszuwerden,
:3000
richten Sie beispielsweise NGINX ein.quelle
Klicken Sie hier Code Project ! Beispiel für ein Code-Projekt. Es funktioniert für mich
quelle
Meistens geschieht dies, wenn im Produktbereich des FB-Dashboards keine ordnungsgemäß gültige OAuth-Umleitungs-URL eingefügt wird. Ich schlage vor, die folgenden Schritte auszuführen
01. Überprüfen Sie, ob die Grundeinstellung der App mit dem folgenden Bild in Ordnung ist
02. Überprüfen Sie, ob Sie ein Produkt hinzugefügt haben
Wenn nicht, können Sie einfach ein Anmeldeprodukt hinzufügen, indem Sie auf + Sinus klicken, wie unten gezeigt.
Wenn ja, gelangen Sie gerade in die Produkteinstellung.
03. Überprüfen Sie, ob Sie eine gültige OAuth-Umleitungs-URL angegeben haben
Es ist einfach zu bedeuten, was nach dem Anmelden sein sollte. Es ist nichts anderes als das, was Sie zurückrufen. Sie können in meinem Bild unten sehen, dass ich mehrere Weiterleitungs-URLs hinzugefügt habe.
quelle
Facebook hat kürzlich die Umschaltfläche für " Strengen Modus für Umleitungs-URIs verwenden " deaktiviert. Sie müssen also die genaue URI hinzufügen, die aufgerufen wird, wenn Sie auf die Anmeldeschaltfläche klicken. Für meinen Fall war es wie im Screenshot gezeigt. Es hat das Problem für mich gelöst :)
quelle
Ich hatte das gleiche Problem,
Ich habe gerade den Link meiner lokalen Adresse http: //localhost/Facebook%20Login%20Test.html zu
Site URL
meiner Anwendungseinstellung https://developers.facebook.com/apps hinzugefügt .Jetzt funktioniert es gut :) Ich hoffe das war nützlich;)
quelle
In meinem Fall musste ich nur den OAuth-Login für den eingebetteten Browser aktivieren
quelle
Für mich hat nichts wirklich funktioniert, bis ich die von mir verwendete SDK-Version aktualisiert habe. Ich habe mit 5.0 angefangen. Nicht einmal 5.4.0 würde auch nicht funktionieren. Als ich auf 5.6.2 aktualisiert habe, hat es einwandfrei funktioniert, obwohl nichts in den Änderungsprotokollen relevant war!
quelle
Diese Option sollte im Portal aktiviert sein:
quelle
Falls dies jemand anderem hilft, passierte dies für mich auf einer älteren Site, als "Valid OAuth Redirect URIs" obligatorisch wurden. Die Site verwendete immer noch das V4 PHP SDK und das Problem wurde für mich durch ein Upgrade auf das V5 SDK behoben.
quelle
Im Abschnitt App-Domain schreiben Sie Ihre App-Domain, müssen aber auch Ihre Login-Domain hinzufügen, dh den Namen der HTML-Seite, auf der Sie den Benutzer zur Anmeldung auffordern. In meinem Fall habe ich es auf localhost getestet und die Anmelderoute war localhost / login. Wenn ich nur http://localhost.com in den App-Domain-Bereich einfüge, wird dieser Fehler angezeigt. Nach dem Hinzufügen von http: //localhost/login.com wurde der Fehler behoben. Außerdem wurden die App-Einstellungen in einer neueren Version des SDK geändert, in der es keine Option für die OAuth-Umleitungsroute gibt. Sie müssen die Umleitungsroute direkt von der Serverseite zuweisen, nachdem Sie das OAuth-Token erfolgreich erhalten haben.
quelle
Das hat bei mir funktioniert:
Hier ist die Hauptsache zu verstehen: Facebook wird immer nach der " WWW " -Domain suchen. Stellen Sie also sicher, dass www.your_domain.dev zuerst in Ihrem Browser funktioniert.
Wenn Sie mehrere virtuelle Hosts auf Ihrem lokalen Server haben, überschreibt möglicherweise ein anderer virtueller Host " www.Ihre_Domäne.dev ". Bitte überprüfen Sie das. Apache wählt die ERSTE Definition der Domäne (oder der Ports oder etwas in diesen Begriffen - ich bin kein Experte in diesem Bereich, aber durch Fehler gelernt). Eine einfache und schnelle Lösung für dieses Überschreiben des virtuellen Hosts besteht darin, die Definition des virtuellen Hosts " www.your_domain.dev " ganz oben in der Datei "httpd-vhosts.conf" zu platzieren.
Gehen Sie zu " /apache/conf/https-vhosts.conf " und fügen Sie dies ganz oben in die Datei ein:
Weiter: Wenn Sie ein Windows-System verwenden, bearbeiten Sie Ihre "Hosts" -Datei unter "C: \ Windows \ System32 \ drivers \ etc", indem Sie zwei Zeilen hinzufügen:
Weiter: Starten Sie Ihren Apache-Server neu und alles sollte jetzt funktionieren.
Ich hoffe, das hilft Ihnen und spart Zeit. Ich habe fast einen ganzen Tag damit verbracht, im Internet zu suchen, habe mir die Haare ausgezogen und konnte nichts Hilfreiches finden, bis ich das gefunden habe.
quelle
Ich hatte das gleiche Problem ..... das Problem ist in der Version PHP SDK 5.6.2 und das Update hat die folgende Datei bearbeitet:
facebook\src\Facebook\Helpers\FacebookRedirectLoginHelper.php
Ändern Sie diese Zeile
$redirectUrl = FacebookUrlManipulator::removeParamsFromUrl($redirectUrl,['state','code']);
zu
$redirectUrl = FacebookUrlManipulator::removeParamsFromUrl($redirectUrl,['state','code','enforce_https']);
quelle
Der gleiche Facebook-Fehler ist mir in der Produktionsumgebung passiert. Der Grund war, dass ich 2 Apps bei Facebook registriert hatte (lokal, Produktion), aber ich habe die lokale App-ID fest in den Quellcode codiert und vergessen, sie vor der Bereitstellung für die Produktions-App-ID auszutauschen.
Nach bewährten Methoden sollte die App-ID nicht fest im Quellcode codiert sein. Wenn Sie dies jedoch tun, stimmen Sie nicht mit Ihren verschiedenen Facebook-App-IDs überein, wie ich es versehentlich getan habe.
quelle
Verwendung meines eigenen lokalen Servers.
Einfach
http://localhost/my-site
als URL hinzufügen in:https://developers.facebook.com/apps/YOUR-APP-ID/fb-login/
arbeitete für mich.
quelle
Das Problem und die Antworten ändern sich ständig, wenn der FB den Anmeldevorgang verschärft. Heute wurde die folgende Horrormeldung angezeigt: "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 in Ihren App-Einstellungen zum Feld" App-Domains "hinzu."
Die Antwort war: Jetzt will FB die vollständige Umleitung uri. Für mich, wo es früher nur https://www.example.com war , möchte es jetzt https://www.example.com/auth/facebook/callback . Dies muss im Feld "Gültige OAuth-Umleitungs-URIs" erfolgen (Entwickler- / Facebook-Login-> Einstellung).
quelle
Facebook-Login -> Einstellungen -> Gültige OAuth-Umleitungs-URIs -> Fügen Sie die Domains Ihrer Weiterleitungs-URL ein. Denken Sie daran, dass Sie "https" oder "http" hinzufügen sollten. Beispiel: Wenn Ihre Weiterleitungs-URL https://xxx.xxx.com/path/callback.do lautet , müssen Sie nur https://xxx.xxx.com/ eingeben. Dies ist für mich in Ordnung .
quelle
Erster Schritt: Verwenden Sie alle https://example.in oder SSL-Zertifikat-URL, nicht http://example.in
Zweiter Schritt: Faceboook-Anwendungseinstellung-> Grundeinstellung-> Hinzufügen Ihrer Domain oder Subdomain
Dritter Schritt: Anmeldeeinstellung der Faceboook-Anwendung-> Gültige OAuth-Umleitungs-URIs-> Fügen Sie nach der Anmeldung Ihre All-Redirect-URL hinzu
vierter Schritt: Faceboook-Anwendungseinstellung-> Erweiterte Einstellung-> Domain Manager-> Fügen Sie Ihren Domainnamen hinzu
Führen Sie den gesamten Schritt aus und verwenden Sie dann Ihre Anwendungs-ID, Anwendungsversion und das App-Geheimnis für die Einrichtung
quelle
In der Magento 2 Social Login-Erweiterung müssen Sie gültige OAuth-Umleitungs-URIs aus dem Bedienfeld kopieren und den Link zum Feld Gültige OAuth-Umleitungs-URIs auf der Seite Client-OAuth-Einstellungen unter developer.facebook.com hinzufügen
quelle
Wenn Ihr Spiel keinen Server / keine Site hat (z. B. wenn Sie wie ich für Gameroom entwickeln), fügen Sie " https://apps.facebook.com/xxxxxxxxxxxxxxxxx " (geben Sie Ihre App-ID anstelle von "xxxxxxxxxxxxx") zu "Valid OAuth Redirect URIs" hinzu ".
quelle
Bei den meisten Antworten geht es darum, die URL zur Domain der App hinzuzufügen. Wenn Sie jedoch in einem Unternehmen arbeiten, haben Sie diesen Zugriff nicht. Für diese können Sie dies umgehen, indem Sie einfach einen virtuellen Host erstellen und einen Hosteintrag vornehmen.
Fügen Sie dies in die Host-Datei (/ etc / hosts) 127.0.0.1 www.your_domain.com ein
Erstellen Sie einen virtuellen Host. Ich habe dies für den virtuellen Apache-Host verwendet
ServerAdmin-Webmaster @ localhost Servername www.Ihre_Domäne.com
quelle