2010-09-14 10 views
13

Quando si richiede l'autorizzazione reindirizzando al seguente url:Facebook OAuth problema redirect_uri 'L'URL specificato non è consentito dalla configurazione dell'applicazione.'

https://graph.facebook.com/oauth/authorize?client_id=...&scope=email,offline_access&redirect_uri=http%3A%2F%2Flocalhost%2Flogin%2Findex.php%3Fcallback%3Dfacebook 

Facebook restituisce 'redirect_uri non validi URL specificato non è consentito dalla configurazione dell'applicazione'

Probabilmente perché la mia applicazione è registrata con http://syncacity.com nella configurazione dell'applicazione. Tuttavia, Twitter mi consente di reindirizzare a qualsiasi URL, quindi perché facebook sta piagnucolando?

mi farebbe piacere i tuoi pensieri :)

risposta

10

perché non basta modificare il file hosts e puntare il dominio al tuo IP locale, allora è necessario solo per cambiare gli host della dev box prima di fare qualsiasi cosa.

+0

Ho fatto questa domanda anni fa e ho pensato di tornare e farvi sapere che questo è quello che ho fatto da allora. Aggiungo il dominio di produzione dal vivo al mio file hosts e lo riaccendo dopo. Aiuta anche durante i test nelle schede di Facebook. Ricordati di cambiarlo di nuovo durante il test delle distribuzioni :) –

8

Modifica l'URL della tua domanda su http://localhost mentre sviluppi e poi sul tuo sito una volta in produzione. :)

+18

Questa è una cattiva soluzione. Facebook sta limitando l'URL di reindirizzamento a un'impostazione nella tua fbApp. Questo rende dannatamente difficile sviluppare con un sito web live. Perché il loro "sito" non è un elenco di server approvati, quindi è possibile aggiungere macchine una per una per il test? IP interni + sito web esterno. – Kieveli

+4

@Kievli: una soluzione è creare un'applicazione per ogni ambiente e mantenere le chiavi in ​​un file di configurazione. Questo è il modo più semplice che ho trovato per lavorare con gli accessi FB. – mrmuggles

+0

In che modo questa soluzione ha 10 upvotes? Pazzo! –

1

creo un applicazione di test in modalità sandbox (impostazioni avanzate) quindi integrare a quello per lo sviluppo e il test

4

è stato risolto, grazie a uno degli sviluppatori della piattaforma Facebook.

Diciamo che l'URL del sito locale è http://localhost:8000 dovrai aggiungere http://localhost:8000 all'impostazione Facebook App in "Impostazioni -> base -.> Website di> URL del sito"

2

In seguito ha lavorato per me:

App Domains: localhost 
Site URL: http://localhost 

enter image description here