Facebook App Domain Name bei Verwendung von localhost

83

Aus einem Tutorial hier:
http://ankurm.com/blog/api/using-localhost-for-facebook-app-development/1091/

Ich habe versucht, einen lokalen Entwicklungsbereich für meine Facebook-App einzurichten. Aber wenn ich " http: // localhost: 85 / my_app / " als meinen Domainnamen setze , sagt Facebook

App-Domänen: " http: // localhost: 85 / app-name / " sollten keine Protokollinformationen enthalten.

Auch wenn ich "localhost: 85 / my_app /" als Domainnamen eingebe, wird folgende Fehlermeldung angezeigt:

App-Domänen: localhost: 85 / my_app / ist keine gültige Domäne.

Sanya Tobi
quelle
6
Ich glaube nicht, dass Sie die "App-Domain" aktualisieren möchten. Stattdessen möchten Sie die "Site-URL" aktualisieren, die sich unter Apps> App bearbeiten> Einstellungen> Grundlegend> Website mit Facebook-Login befindet. Stellen Sie sicher, dass es grün markiert ist und die "Site-URL" angezeigt wird. Sie können http: // localhost eingeben - Sie müssen keinen Port angeben, aber Sie geben das Protokoll am häufigsten an.
Luis Perez
1
Localhost konnte unter App Domain nicht zum Laufen gebracht werden. Stellen Sie die erweiterten Einstellungen | 'Gültige OAuth-Umleitungs-URIs' auf die localhost-URL (http: // localhost: port #) ein. Siehe github.com/tschellenbach/Django-facebook/issues/376
Joe
Beachten Sie auch, dass die App-Domain vorhanden sein muss, localhostdamit sie die Domain akzeptiert. Ich habe es mit mysite.local versucht und es würde nicht funktionieren. Geändert Site URL to http://localhost:85/und App Domains to http://localhost:85/dann gespeichert (FB modifizierte App Domain), damit es funktioniert.
James Lock
Noch etwas zu versuchen: "Stellen Sie in den Client-oAuth-Einstellungen, in denen" Strengen Modus für Umleitungs-URIs verwenden "steht, sicher, dass" Nein "eingestellt ist und der Treffer gespeichert wird." - wp-native-articles.com/blog/news/…
eflat
HTTPS für Facebook-Login erforderlich. Sie können HTTP weiterhin mit "localhost" -Adressen verwenden, jedoch nur, solange sich Ihre App noch im Entwicklungsmodus befindet. developer.facebook.com/blog/post/2018/06/08/…
yadavr

Antworten:

56

Es scheint, dass das Protokoll geändert wurde.

Hier ist meine Lösung (ich habe sie am 3. April 2015 getestet und sie funktioniert gut):

Unter Einstellungen -> Registerkarte Basis

  1. App Domain: localhost
  2. Klicken Sie auf " + Plattform hinzufügen " und wählen Sie " Website ".
  3. Site-URL: http: // localhost: <Port> / ( <Port> ist Ihre Portnummer)
  4. Änderungen speichern
Supasate
quelle
3
funktioniert nicht, s32.postimg.org/4qazo1sl1/…
shershen
4
Danke dir! Das hat bei mir funktioniert (Mai 2016). Beachten Sie, dass 127.0.0.1 nicht funktioniert.
Milad M
Arbeitete für mich Juni 2017
Alaksandar Jesus Gene
Funktioniert! Dezember 2017
Pandarian Ld
56

Meine Lösung:

  1. Lassen Sie die App-Domänen leer
  2. (Produkte) Facebook Login> Einstellungen
  3. In http://localhost:85/my_app/zu Valid OAuth redirect URIsFeld
  4. Änderungen speichern
dkonayuki
quelle
6
@Matt Long: Ich habe das Feld Valid OAuth Redirect URIs nicht gefunden. Wurde es entfernt?
Julian
@ MattLong danke! Ich habe es mit der Supasates-Lösung zum Laufen gebracht.
Julian
1
Hat für mich gearbeitet! (Februar 2018)
Daniel sagt Reinstate Monica
44
  1. Lassen Sie die App-Domänen leer
  2. Gehen Sie mit Facebook Login zur Website
  3. Hinzufügen http://localhost:port_number/
  4. Speichern Sie die Änderungen und versuchen Sie es erneut. Für weitere Informationen besuchen Sie

http://developers.facebook.com/docs/samples/canvas/ Viel Spaß beim Codieren :-)

PM
quelle
3
developer.facebook.com/docs/opengraph/getting-started - wahrscheinlich relevanter
fflyer05
7
Localhost konnte unter App Domain nicht zum Laufen gebracht werden. Stellen Sie Erweiterte Einstellungen | 'Gültige OAuth-Umleitungs-URIs' auf die localhost-URL (http: // localhost: port #) ein. Siehe github.com/tschellenbach/Django-facebook/issues/376
Joe
2
Was bedeutet "Website mit Facebook Login"? Eine Option neben "App Domains"? Ich sehe es nicht Das Hinzufügen des localhost-Eintrags in "Erweiterte Einstellungen | Gültige OAuth-Umleitungs-URIs" hat bei mir funktioniert
Pierre de LESPINAY
Habe es getan, immer noch Fehler: "Angegebene URL ist von der Anwendungskonfiguration nicht erlaubt"
Ram Rachum
1
OK funktionieren. Ich möchte nur kommentieren, dass dies nur mit 'localhost' wie in der Antwort funktioniert. Ich habe es mit 127.0.0.1:8000 versucht und habe nicht funktioniert
ePi272314
30

Dies hat sich im Laufe der Jahre geändert, aber ich habe es gerade dazu gebracht, mit einer Webanwendung zu arbeiten, die ich auf localhost verwende. Das habe ich getan:

  1. Gehen Sie zu https://developers.facebook.com/apps
  2. Wählen Sie Ihre App aus.
  3. Wählen Sie in der linken Navigationsleiste Einstellungen> Basis.
  4. Klicken Sie unten auf der Seite auf die Schaltfläche Plattform hinzufügen.
  5. Klicken Sie auf Website
  6. Geben Sie http://localhost:8080/als Site-URL ein.
  7. Klicken Sie auf die Schaltfläche Schnellstart ganz rechts neben der soeben eingegebenen Site-URL.
  8. Eine neue Registerkarte wird geöffnet. Scrollen Sie auf dieser Registerkarte nach unten zum Abschnitt "Erzählen Sie uns von Ihrer Website" und geben Sie erneut http://localhost:8080/die Website-URL ein.
  9. Klicken Sie auf die Schaltfläche Weiter.
  10. Es wurde versucht, sich erneut anzumelden, und diesmal hat es funktioniert.

Viel Glück!

10GritSandpaper
quelle
2
Gibt es eine Möglichkeit, zwei Domänen zu verwenden? localhost und die für die Produktion verwendete Domain: /
JCarlosR
Funktioniert nicht: Immer noch festgefahren, URL blockiert: Diese Umleitung ist fehlgeschlagen, da der Umleitungs-URI in den OAuth-Einstellungen des Clients der App nicht auf der weißen Liste steht. Stellen Sie sicher, dass die Client- und Web-OAuth-Anmeldungen aktiviert sind, und fügen Sie alle Ihre App-Domänen als gültige OAuth-Umleitungs-URIs hinzu.
Nikunj Dhimar
28

2018 Arbeitslösung

Ich habe ewig gebraucht, um das herauszufinden, also werde ich meine Lösung teilen.

Ich habe alle vorgeschlagenen Antworten ausprobiert, aber nichts hat für mich funktioniert, und am Ende musste ich nur zu https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/ gehen und meine hinzufügen vollständige Rückruf-URL im Feld Gültige OAuth-Umleitungs-URIs .

In meinem Fall sah meine URL mit Rubin auf Schienen so aus http://localhost:3000/user/auth/facebook/callback.

Und gleich nachdem ich es hinzugefügt hatte, fing alles an zu funktionieren! Hoffe, dies hilft jemand anderem, der sich diesem Problem stellt.

GuilPejon
quelle
Danke dir! Überraschenderweise haben Sie für den aktuellen Moment die perfekte Lösung! Prost.
Nachododkin
ja Dankeschön. Das hat bei mir funktioniert. Ich habe localhost: 5001 zum Abschnitt hinzugefügt : Gültige OAuth-Umleitungs-URIs und aktiviert: Eingebetteter Browser OAuth-Login
David John Coleman II
Das hat auch bei mir funktioniert. Dies ist die aktuelle Arbeitslösung. Ich habe eine Testversion meiner App für Facebook Login von localhost erstellt. (Bis Facebook die Dinge wieder ändert!)
Red3
3
Danke dir! PITA-BROT. Nachdem ich das hinzugefügt hatte, tauchte dieser Hinweis auf. Im März führen wir ein Sicherheitsupdate für Ihre App-Einstellungen durch, das Anrufe von URIs ungültig macht, die nicht im Feld Gültige OAuth-Umleitungs-URIs unten aufgeführt sind. Dieses Update ist eine Reaktion auf böswillige Aktivitäten, die wir auf unserer Plattform gesehen haben, und wir möchten sie schützen Ihre App oder Website, indem Sie einen neuen strengen Modus für die Umleitung von URIs benötigen. Scheint, als hätten sie früh begonnen?
Dbinott
1
Vielen Dank! Es hat auch ewig gedauert (bis ich diese Antwort gefunden habe). Das Problem ist, dass der Fehler, den Sie von FB erhalten, darauf hindeutet, dass Sie Ihre Domain zu "den Domains der App" hinzufügen sollten, was nichts mit dem eigentlichen Problem zu tun hat. Danke, dass du meine Zeit wieder verschwendet hast FB :(
Arno van Oordt
11

Das habe ich früher gemacht.

Wenn Sie Windows verwenden, müssen Sie die Hostdatei ändern. Der Speicherort der Hostdatei befindet sich unter%SystemRoot%\System32\drivers\etc\

Fügen Sie eine neue Zeile in die Host-Datei ein

127.0.0.1    localhost.YOUR-SITE-NAME.com

Speichern Sie die Hostdatei.

Gehen Sie zum Kontrollfeld für FB-Apps-Einstellungen und geben Sie localhost.YOUR-SITE-NAME.comim Feld Apps-Domäne ein. Änderungen speichern.

Laden Sie nun localhost.YOUR-SITE-NAME.comIhre lokale Umgebung wie in Ihrem Browser.

NB: Ändern Sie Ihren Site-Namen mit Ihrem Domain-Namen.

kiranvj
quelle
7

Arbeitslösung (August 2018)

Wählen Sie zunächst Ihre App im Entwickler-Dashboard aus .

Stellen Sie dann sicher, dass sich Ihre App im Entwicklungsmodus befindet , da sie localhost über HTTP zulässt. Klicken Sie dazu auf den Schalter oben rechts auf der Seite Ihrer App.

Befolgen Sie abschließend die folgenden Hinweise, da diese bei unsachgemäßer Befüllung Probleme verursachen können:

  • Settings > Basic > App Domains sollte leer sein
  • Products > Facebook Login > Settings > Valid OAuth Redirect URIs sollte leer sein
Aymericbeaumet
quelle
funktioniert es noch Ich erhalte einen White-Label-Fehler, wenn ich meine App in den Entwicklungsmodus versetze.
Sagar Limbu
1
Ich habe eine Test-App-Version meiner produktiven App (immer im Entwicklungsmodus), habe alle Felder gelöscht, erhalte aber immer noch den Fehler: OAuthException URI missmatch
Andreas Richter
Wenn sich Ihre App im Entwicklungsmodus befindet, können Sie keine Endpunkte testen, bei denen Sie Ihre App einreichen müssen
Ricks
Danke Bruder, ja, das war schwer herauszufinden
Anthony
5

Sie können es entweder leer lassen oder verwenden localhost, http://localhost:85/my_app/ist die URL

phwd
quelle
Ja, ich weiß, es ist die URL, aber Dats Wot wurde im Tutorial gemacht, und er behauptet, es hat funktioniert ... deshalb habe ich es versucht ... übrigens habe ich auch localhost ausprobiert: 85, aber es funktioniert nicht, aber wann Ich habe versucht, localhost nur es hat funktioniert ... Der Grund, den ich verwenden wollte: 85 ist, weil das der Port ist, den mein Apache verwendet ...
Sanya Tobi
Der Port ist eine Protokollinformation, die Sie für dieses Feld nicht benötigen. Wie die Nachricht sagt: sollte keine Protokollinformationen enthalten.
Phwd
es leer zu lassen hat den Trick getan. Und noch etwas, das es nicht localhostals Domainnamen akzeptiert .
Shashwat
3

Als ich dieses Tutorial zu diesem Zeitpunkt schrieb, war der Port in der App-Domäne zulässig. Und ich kann tatsächlich eine App mit 81 Ports (Wamp-Server) ausführen. Jetzt sieht es so aus, als ob Facebook keinen Port in URL zulässt. Sie können localhostin App-Domain verwenden.

Ich werde die Informationen so schnell wie möglich aktualisieren. Ich versuche eine Lösung zu finden.

Eine vorübergehende Lösung ist die Verwendung von localtunnel http://progrium.com/localtunnel/

Ankur
quelle
2

Ich habe das getestet und es funktioniert für mich [Februar 2020]:

  1. Installieren Sie ngrok und rufen Sie Ihre https-URL ab (Beispiel: https://a3asdf23.ngrok.io )
  2. Gehen Sie zu FB App Dashboard Settings (Basic) -> unter App Domains -> add https://a3asdf23.ngrok.io, https://ngrok.io.
  3. Scrollen Sie auf derselben Seite ganz nach unten, Plattform hinzufügen (Website), und legen Sie die URL als fest https://a3asdf23.ngrok.io. Noch nicht fertig, klicken Sie auf QuickStart -> unter "Erzählen Sie uns von Ihrer Website" und geben Sie dieselbe URL ein https://a3asdf23.ngrok.io.
  4. Dann gehen Sie auf Produkte -> Facebook Login -> Einstellungen -> Client OAuth - Einstellungen -> Gültige OAuth Redirect URIs -> fügen Sie diese https://a3asdf23.ngrok.io, https://ngrok.io, https://a3asdf23.ngrok.io/{your-redirect-uri}.

Und los geht's. Danke mir später :)

Yong Ching
quelle
1

Sie müssen einen Tunnel erstellen, um Ihren lokalen Host freizugeben. Ngrok ist vielleicht der einfachste Weg, das zu tun.

55651909-089b-4e04-9408-47c5bf
quelle
1

https://ngrok.com

Gehen Sie über den Link https://ngrok.com/ , um ngrok herunterzuladen und diese Datei zu extrahieren. Öffnen Sie cmd (Suche cmd). Wechseln Sie in das Verzeichnis, in das ngrok extrahiert wird. Öffnen Sie ngrok über die Befehlszeile, z. B.: C: /ngrok/ngrok.exe [Port] oder cd c: / ngrok, und dann ngrok 80 (ngrok [Port])

ngrok

Tunnel Status                 online
Version                       1.3/1.3
Forwarding                    http://3ahsdfhska.ngrok.com -> 127.0.0.1:80
Forwarding                    https://3ahsdfhska.ngrok.com -> 127.0.0.1:80
Web Interface                 http://127.0.0.1:4040
# Conn                        0
Avg Conn Time                 0.00ms

VERGESSEN Sie nicht, sicherzustellen, dass Ihr Wamp-Server auf demselben Port geöffnet ist.

http://3ahsdfhska.ngrok.com

wird die URL für den Online-Zugriff auf Ihren lokalen Host sein

Abhilash Aruva
quelle
Ich möchte ngrok testen, um zu meinem Servlet zu gelangen. Mein Servlet läuft auf einem bestimmten Pfad. Zum Beispiel: localhost: 8080 / plugins / servlet Wie kann ich ngrok anweisen, dort weiterzumachen?
Jorge Valois
0

Wenn Sie die Protokollfehler erhalten, müssen Sie nicht nur Http: // ENTFERNEN, sondern auch, wenn am Ende der Webadresse ein Backslash auftritt, müssen Sie diesen ebenfalls entfernen, da dies sonst nicht funktioniert. Ich habe das gemacht und es hat perfekt funktioniert! Holla!

Da ist ein
quelle
0

Eine weitere Lösung in die Mischung geben:

Ich habe meine Website gemäß den Anweisungen eingerichtet, dann eine zweite App (Facebook Canvas) hinzugefügt und diese URL auf festgelegt http://localhost:XXXXX. Jetzt kann ich sowohl lokal als auch in der Produktion auf FB zugreifen.

Matt Cashatt
quelle
0

Ich entwickle lokal und benutze diese URL: localhost/fb

Dann musste ich eine Website mit folgender URL hinzufügen: http://localhost

Unter App Domains habe ich hinzugefügt localhost.

Jetzt gehts. Das einzige Problem, das ich hatte, war, dass Sie diese URL in all Ihren Skripten verwenden müssen. Z.B

$loginUrl = $helper->getLoginUrl('http://localhost/fb/login-callback.php', $permissions);

Sie können hier nicht verwenden 127.0.0.1...

testen
quelle
0

Ich habe alle hier genannten Lösungen ausprobiert, aber keine davon hat funktioniert.

Was mein Problem löste, war das Kopieren des "OAuth Redirect URI" von Firebase in die Facebook App "Valid OAuth Redirect URIs".

Ich habe alle Domains leer gelassen

Shaharyar Kirmani
quelle