Nome di dominio dell'app Facebook quando si utilizza localhost


85

Da un tutorial qui:
http://ankurm.com/blog/api/using-localhost-for-facebook-app-development/1091/

Ho provato a creare un'Area di sviluppo locale per la mia app Facebook. Ma quando metto " http: // localhost: 85 / my_app / " come nome di dominio, Facebook dice

Domini app: " http: // localhost: 85 / app-name / " non deve contenere informazioni sul protocollo.

Inoltre, quando metto "localhost: 85 / my_app /" come nome di dominio, ottengo l'errore:

Domini app: localhost: 85 / my_app / non è un dominio valido.


6
Non credo che quello che vuoi aggiornare sia il "Dominio dell'app", invece quello che vuoi aggiornare è l '"URL del sito" che si trova in: Applicazioni> Modifica app> Impostazioni> Base> Sito web con accesso a Facebook. Assicurati che sia selezionato in verde e che venga visualizzato "URL sito". È possibile immettere http: // localhost - non è necessario specificare una porta, ma è la maggior parte di specificare il protocollo.
Luis Perez

1
Impossibile far funzionare l'host locale nel dominio dell'app. Imposta impostazioni avanzate | "URI di reindirizzamento OAuth validi" all'URL localhost (http: // localhost: port #). Vedi github.com/tschellenbach/Django-facebook/issues/376
Joe

Nota inoltre, il dominio dell'app deve essere localhostaffinché accetti il ​​dominio. Ho provato con mysite.local e non funzionava. Modificato Site URL to http://localhost:85/e App Domains to http://localhost:85/quindi salvato (dominio app modificato da FB) affinché funzioni.
James Lock

Qualcos'altro da provare: "Nelle impostazioni oAuth del client, dove viene visualizzato Usa modalità rigorosa per gli URI di reindirizzamento, assicurati che sia impostato su No e che l'hit salvi". - wp-native-articles.com/blog/news/…
eflat

Richiesta di HTTPS per l'accesso a Facebook. Sarai comunque in grado di utilizzare HTTP con indirizzi "localhost", ma solo mentre la tua app è ancora in modalità di sviluppo. sviluppatori.facebook.com/blog/post/2018/06/08/…
yadavr

Risposte:


58

La mia soluzione:

  1. Lascia vuoti i domini delle app
  2. (Prodotti) Accesso Facebook> Impostazioni
  3. Aggiungi http://localhost:85/my_app/alla Valid OAuth redirect URIsscatola
  4. Salvare le modifiche

6
@ Matt Long: non ho trovato la casella Valid OAuth redirect URIs è stata rimossa?
Julian

@ MattLong grazie! Ho funzionato usando la soluzione Supasates.
Julian

1
Ha funzionato per me! (Febbraio 2018)
Daniel dice Reinstate Monica

18/10/2020 Ottengo questo avviso "i reindirizzamenti localhost sono consentiti automaticamente solo in modalità sviluppo e non è necessario aggiungerli qui."
Kick Buttowski

55

Sembra che il protocollo sia stato cambiato.

Ecco la mia soluzione (ho provato il 3 aprile 2015 e funziona bene):

In Impostazioni -> scheda Base

  1. Dominio app: localhost
  2. Fai clic su " + Aggiungi piattaforma " e scegli " Sito web "
  3. URL del sito: http: // localhost: <port> / ( <port> è il numero di porta)
  4. Salvare le modifiche


4
Grazie! Questo ha funzionato per me (maggio 2016). Avviso, 127.0.0.1 non funziona.
Milad M

Ha lavorato per me giugno 2017
Alaksandar Jesus Gene,

Lavori! Dicembre 2017
Pandarian Ld

44
  1. Lascia vuoti i domini delle app
  2. Vai al sito web con accesso a Facebook
  3. Inserisci http://localhost:port_number/
  4. Salva le modifiche e riprova. Per maggiori informazioni visita

http://developers.facebook.com/docs/samples/canvas/ Buona codifica :-)



7
Impossibile far funzionare l'host locale nel dominio dell'app. Imposta Impostazioni avanzate | "URI di reindirizzamento OAuth validi" all'URL localhost (http: // localhost: port #). Vedi github.com/tschellenbach/Django-facebook/issues/376
Joe

2
Cosa significa "Sito web con accesso a Facebook"? Un'opzione accanto a "App Domains"? Non lo vedo L'aggiunta della voce localhost in "Impostazioni avanzate | URI di reindirizzamento OAuth validi" ha funzionato per me
Pierre de LESPINAY

Fatto, viene ancora visualizzato l'errore: "L'URL
fornito

1
Funziona bene. Voglio solo commentare che funziona solo con "localhost" come nella risposta. Ho provato con 127.0.0.1:8000 e non ha funzionato
ePi272314

30

Questo è cambiato un po 'nel corso degli anni, ma l'ho appena fatto funzionare con una webapp che sto eseguendo su localhost. Questo è quello che ho fatto:

  1. Vai a https://developers.facebook.com/apps
  2. Seleziona la tua app.
  3. Seleziona Impostazioni> Di base dalla barra di navigazione a sinistra.
  4. Fare clic sul pulsante Aggiungi piattaforma nella parte inferiore della pagina.
  5. Fare clic su Sito web
  6. Immettere http://localhost:8080/per l'URL del sito.
  7. Fare clic sul pulsante Avvio rapido all'estrema destra dell'URL del sito appena inserito.
  8. Si aprirà una nuova scheda. In quella scheda, scorri verso il basso fino alla sezione "Parlaci del tuo sito web" e inserisci nuovamente http://localhost:8080/l'URL del sito.
  9. Fare clic sul pulsante Avanti.
  10. Tentativo di accedere di nuovo e questa volta ha funzionato.

In bocca al lupo!


2
c'è un modo per utilizzare due domini? localhost e il dominio utilizzato per la produzione: /
JCarlosR

Non funzionante: ancora bloccato su, URL bloccato: questo reindirizzamento non è riuscito perché l'URI di reindirizzamento non è elencato in bianco nelle impostazioni OAuth del client dell'app. Assicurati che gli accessi client e Web OAuth siano attivi e aggiungi tutti i domini delle app come URI di reindirizzamento OAuth validi.
Nikunj Dhimar

28

Soluzione di lavoro 2018

Mi ci sono voluti anni per capirlo, quindi condividerò la mia soluzione.

Ho provato tutte le risposte suggerite, ma niente ha funzionato per me, e alla fine tutto quello che dovevo fare era andare su https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/ e aggiungere il mio URL di callback completo negli URI di reindirizzamento OAuth validi casella .

Nel mio caso, usando ruby ​​on rails, il mio URL assomigliava a questo http://localhost:3000/user/auth/facebook/callback .

E subito dopo averlo aggiunto, tutto ha iniziato a funzionare! Spero che questo aiuti qualcun altro ad affrontare questo problema.


Grazie! Sorprendentemente, hai una soluzione realizzabile perfetta per il momento attuale! Saluti.
nakhodkin

si Grazie. Questo ha funzionato per me. Ho aggiunto localhost: 5001 alla sezione: URI di reindirizzamento OAuth validi e abilitato: Accesso OAuth browser incorporato
David John Coleman II

Questo ha funzionato anche per me. Questa è l'attuale soluzione di lavoro. Ho creato una versione di prova della mia app per l'accesso a Facebook da localhost. (Fino a quando Facebook non cambierà di nuovo le cose!)
Red3

3
Grazie! PITA. Dopo averlo aggiunto, è comparso questo avviso. A marzo, stiamo effettuando un aggiornamento di sicurezza per le impostazioni della tua app che invaliderà le chiamate da URI non elencati nel campo URI di reindirizzamento OAuth validi di seguito.Questo aggiornamento arriva in risposta ad attività dannose che abbiamo visto sulla nostra piattaforma e vogliamo proteggere la tua app o il tuo sito web richiedendo una nuova modalità rigorosa per gli URI di reindirizzamento Sembra che siano iniziati presto?
dbinott

1
Grazie! Anche a me ci sono voluti anni (finché non ho trovato questa risposta). Il problema è che l'errore che ricevi da FB ti suggerisce di aggiungere il tuo dominio ai "domini dell'app", il che non ha nulla a che fare con il problema reale. Grazie per aver sprecato di nuovo il mio tempo FB :(
Arno van Oordt

11

Questo è quello che facevo io.

Se utilizzi Windows, devi modificare il file host. La posizione del file host sarà in%SystemRoot%\System32\drivers\etc\

Aggiungi una nuova riga nel file host in questo modo

127.0.0.1    localhost.YOUR-SITE-NAME.com

Salva il file host.

Vai al pannello di controllo delle impostazioni delle app FB e dai localhost.YOUR-SITE-NAME.comnel campo Dominio delle app. Salvare le modifiche.

Ora carica il tuo ambiente locale come localhost.YOUR-SITE-NAME.comdal tuo browser.

NB: cambia IL TUO-NOME-SITO con il tuo nome di dominio.


7

Soluzione di lavoro (agosto 2018)

Innanzitutto, seleziona la tua app nella dashboard degli sviluppatori .

Quindi assicurati che la tua app sia in modalità di sviluppo , poiché consente l'host locale su HTTP. Per farlo, fai clic sull'interruttore situato in alto a destra nella pagina della tua app.

Infine, si prega di seguire le note seguenti in quanto potrebbero causare problemi se compilate in modo improprio:

  • Settings > Basic > App Domains dovrebbe essere vuoto
  • Products > Facebook Login > Settings > Valid OAuth Redirect URIs dovrebbe essere vuoto

funziona ancora? ottengo un errore white label se metto la mia app in modalità sviluppo.
sagar limbu

1
Ho una versione di test-app della mia app produttiva (sempre in modalità di sviluppo), ho cancellato tutti i campi, ma ricevo ancora l'errore: OAuthException URI missmatch
Andreas Richter

Quando la tua app è in modalità di sviluppo non puoi testare gli endpoint che richiedono di inviare la tua app
ricks

Grazie fratello, sì, è stato difficile finalmente capire
Anthony

5

Puoi lasciarlo vuoto o utilizzare localhost, http://localhost:85/my_app/è l'URL


sì, lo so è l'URL, ma dats wot è stato fatto nel tutorial, e afferma che ha funzionato ... ecco perché l'ho provato ... a proposito ho anche provato localhost: 85 ma non funziona, ma quando ho provato localhost solo che funzionava ... Il motivo per cui volevo usare: 85 è perché questa è la porta utilizzata dal mio apache ...
Sanya Tobi

La porta è un'informazione di protocollo, non è necessaria per quel campo. Come dice il messaggio: non dovrebbe contenere informazioni sul protocollo.
phwd

lasciarlo vuoto ha funzionato. E ancora una cosa che non accetta localhostcome nome di dominio.
shashwat

3

Quando ho scritto quel tutorial in quel momento la porta era consentita nel dominio dell'app. E in realtà sono in grado di eseguire l'app con la porta 81 (server wamp). Ora sembra che Facebook non stia consentendo il port in url. Puoi usare localhostnel dominio dell'app.

Aggiornerò le informazioni il prima possibile. Sto cercando di trovare una soluzione.

Una soluzione temporanea è utilizzare localtunnel http://progrium.com/localtunnel/


3

L'ho provato e funziona per me [febbraio 2020]:

  1. Installa ngrok e ottieni il tuo URL https (esempio: https://a3asdf23.ngrok.io )
  2. Vai a Impostazioni dashboard app FB (di base) -> in Domini app -> aggiungi https://a3asdf23.ngrok.io,https://ngrok.io .
  3. Nella stessa pagina, scorri fino in fondo, Aggiungi piattaforma (sito web), imposta l'URL come https://a3asdf23.ngrok.io. Non ancora finito, fai clic su QuickStart -> in "Parlaci del tuo sito web", inserisci lo stesso URL https://a3asdf23.ngrok.io.
  4. Poi vai a Prodotti -> Facebook Login -> Impostazioni -> Impostazioni client OAuth -> Valido OAuth Redirect URI -> aggiungere questi https://a3asdf23.ngrok.io, https://ngrok.io, https://a3asdf23.ngrok.io/{your-redirect-uri}.

Ed eccoti qui. Grazie dopo :)



1

https://ngrok.com

Vai su https://ngrok.com/ link per scaricare ngrok ed estrarre il file. Apri cmd (cerca cmd) Vai alla directory in cui viene estratto ngrok. Apri ngrok dalla riga di comando es: c: /ngrok/ngrok.exe [porta] o cd c: / ngrok quindi ngrok 80 (ngrok [porta]) Otterrai

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

Non DIMENTICARE di assicurarti che il tuo server wamp sia aperto sulla stessa porta ... (come controllare -> goto-> wampicon-> apache-> httpd.conf cerca la porta o 80 (predefinito) usalo per ngrok.exe 80)

http://3ahsdfhska.ngrok.com

sarà l'URL per accedere al tuo localhost online


Vorrei testare ngrok per fowd al mio servlet. Il mio servlet viene eseguito su un percorso specifico. Per esempio: localhost: 8080 / plugins / servlet Come posso istruire ngrok a inoltrare lì?
Jorge Valois

0

Se si verificano errori di protocollo, non solo è necessario RIMUOVERE Http: // ma anche se è presente una barra rovesciata alla fine dell'indirizzo Web, è necessario rimuovere anche quella o non funzionerà. L'ho fatto e ha funzionato perfettamente! Holla!


0

Lanciare un'altra soluzione nel mix:

Ho impostato il mio sito Web seguendo le istruzioni, quindi ho aggiunto una seconda app (Facebook Canvas) e ho impostato l'URL su http://localhost:XXXXX. Ora posso accedere a FB sia in locale che in produzione.


0

Sviluppo localmente e utilizzo questo URL: localhost/fb

Quindi ho dovuto aggiungere un sito Web con il seguente URL: http://localhost

In App Domains ho aggiunto localhost.

Ora funziona. L'unico problema che ho avuto è stato che devi usare questo URL in tutti i tuoi script. Per esempio

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

Non puoi usare 127.0.0.1qui ...


0

Ho provato tutte le soluzioni menzionate qui ma nessuna di esse ha funzionato.

Quello che ha risolto il mio problema è stato copiare "URI di reindirizzamento OAuth" da Firebase all'app Facebook "URI di reindirizzamento OAuth validi"

Ho lasciato tutti i domini vuoti

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.