Messaggio di accesso a Facebook: "URL bloccato: questo reindirizzamento non è riuscito perché l'URI di reindirizzamento non è autorizzato nelle impostazioni OAuth del client dell'app".


121

Avviso IMPORTANTE:

Se ti registri per il test, vai alle impostazioni del tuo profilo e ai tuoi interessi aggiungi elimina profilo .

Sto provando ad accedere con Facebook al mio sito web :

Ottengo il seguente errore:

URL bloccato: questo reindirizzamento non è riuscito perché l'URI di reindirizzamento non è autorizzato nelle impostazioni OAuth del client dell'app. Assicurati che il client e l'accesso Web OAuth siano attivi e aggiungi tutti i domini delle app come URI di reindirizzamento OAuth validi.

Le mie settings(Nozioni di base) su Facebook sono:

Nella scheda Avanzate, Valid OAuth redirect URIsè impostato su:

http://openstrategynetwork.com/_oauth/facebook?close

L'app è public.

Altre impostazioni (avanzate) qui: inserisci qui la descrizione dell'immagine

La chiave e il segreto dell'app sono corretti. Sto usando Meteor e i suoi pacchetti di account.


Qual è il tuo ROOT_URL?
— aedm

Quale URL stai utilizzando per reindirizzare alla pagina di accesso di Facebook? È ancora necessario specificare redirect_uri nella richiesta di autorizzazione.
— Edward Jiang

@aedm: ROOT_URL è impostato suhttp://openstrategynetwork.com
— Amir Rahbaran

@EdwardJiang: dove posso farlo? È strano perché una volta funzionava per localhost. Ma anche localhost non funziona più.
— Amir Rahbaran

Sto riscontrando anche questo problema, redirect_uri corrisponde esattamente alla configurazione nelle impostazioni OAuth del client - vedi di più su developers.facebook.com/support/bugs/232085950706415 bisogno di aiuto chiunque .. grazie in anticipo
— jdme

Risposte:


80

Il login con il pulsante Facebook sul tuo sito si collega a:

https://www.facebook.com/v2.2/dialog/oauth?client_id=1500708243571026&redirect_uri=http://openstrategynetwork.com/_oauth/facebook&display=popup&scope=email&state=eyJsb2dpblN0eWxlIjoicG9wdXAiLCJjcmVkZW50aWFsVG9rZW4iOiIwSXhEU05XamJjU0VaQWdqcmF6SXdOUWRuRFozXzc0X19lbVhGWUJTZGNYIiwiaXNDb3Jkb3ZhIjpmYWxzZX0=

Avviso: redirect_uri=http://openstrategynetwork.com/_oauth/facebook

Se invece cambi il link in:

redirect_uri=http://openstrategynetwork.com/_oauth/facebook?close

Dovrebbe funzionare. Oppure puoi cambiare il link di Facebook inhttp://openstrategynetwork.com/_oauth/facebook

È inoltre possibile aggiungere http://localhost/_oauth/facebookURI di reindirizzamento validi.

Facebook richiede che tu inserisca nella whitelist gli URI di reindirizzamento, poiché altrimenti le persone potrebbero accedere con Facebook per il tuo servizio e quindi inviare il loro token di accesso al server di un utente malintenzionato! E non vuoi che ciò accada;]


4
Che cos'è esattamente un URI di reindirizzamento OAuth? Mi aspetto che questo sia lo stesso URL dell'app Web principale.
— AlvinfromDiaspar

1
Sembra funzionare. Anche se non sono sicuro che non fosse originariamente perché stavo cercando di accedere con l'account con cui ho creato l'app. Ha implementato questa soluzione e ha utilizzato un account diverso e ha funzionato (apparentemente). La lingua e le informazioni sugli URI di reindirizzamento oAuth devono essere chiare. Le informazioni sono esoteriche e quasi arcane. I termini utilizzati non sono nemmeno definiti o chiariti.
— abtecas

grazie mille risolto il mio problema! anche se ho ssl funzionante
— Sweet Chilly Philly

Il trucco è guardare l'URL di reindirizzamento e aggiungerlo agli "URI di reindirizzamento OAuth validi" nel mio caso è signin-facebook.
— Usama Saleem

1.Assicurati di aggiungere con e senza URL www ai tuoi URI di reindirizzamento di autenticazione valida
— Bhavin Rana

79

Come scrive l'interrogante

Nella scheda Avanzate, URI di reindirizzamento OAuth validi è impostato su: ...

e ho avuto lo stesso problema (scrivendo l'URL di reindirizzamento nel campo di input sbagliato) vorrei evidenziarlo

Non è

Settings -> Advanced -> Share Redirect Whitelist

ma

Facebook Login -> Settings -> Valid OAuth redirect URIs

Mi avrebbe risparmiato 2 ore di tentativi ed errori.

Dovresti anche tenere a mente che www.example.comnon è la stessa cosa di example.com. Aggiungi entrambi i formati all'URL di reindirizzamento.


11
Down-voters: aggiungi un commento sulle tue preoccupazioni, altrimenti la risposta non migliorerà.
— andymel

6
Gesù, ho passato così tanto tempo a cercare nel posto sbagliato, grazie.
— risciò il

Provando ad aggiungere un nuovo URI ottengo: New HTTP Redirect URIs are not allowed:(
— XCS

Grazie mille. Ho provato di tutto, ma nel posto sbagliato. Che cosa significa "Share Redirect Whitelist"?
— Sunil Kumar

20

Questo ha funzionato per me.

redierct_url = http://127.0.0.1:8080/accounts/facebook/login/callback/

L'ho ottenuto dal mio browser dopo aver fatto clic sul pulsante Facebook, il tuo browser verrà reindirizzato a un collegamento per l'integrazione con l'API di Facebook, quindi dove otterrai quel reindirizzamento. Per il mio caso il collegamento era questo da dove ho ottenuto il redirect_url.

https://www.facebook.com/dialog/oauth?client_id=...&scope=&response_type=code&state=...&redirect_uri=http://127.0.0.1:8080/accounts/facebook/login/callback/

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine


Per la mia applicazione MVC, ho dovuto aggiungere "/ signin-facebook" all'URL del sito .... grazie per il meraviglioso suggerimento!
— davaus

Mi risparmi le settimane @Umar Asghar
— kn3l

11

Assicurati che " App Domain " e Facebook Login => URI di reindirizzamento OAuth validi . Lì devi controllare www o senza www . È meglio se usi con www o senza per tutti gli URL in php, html, file css e impostazioni dell'app Fb.

Un'altra cosa è che se stai utilizzando la fine "/" degli URL, devi aggiungere quell'URL alle impostazioni dell'app degli URI di reindirizzamento OAuth validi . Esempio: - https://www.example.com/index.php/ se questo URL se stai usando nell'URL di reindirizzamento devi impostarlo sulle impostazioni dell'app.

Spero che questo possa essere d'aiuto.


nel dominio dell'app si aggiungono sia con che senza www
— qwertzman

Cosa intendi con questo post amico sono un po 'confuso.
— TheBAST

6

Per la mia applicazione Node,

"facebook": {
        "clientID" : "##############",
        "clientSecret": "####################",
        "callbackURL": "/auth/facebook/callback/"
    }

put callback Url relative

Il mio OAuth reindirizza gli URI come segue

inserisci qui la descrizione dell'immagine

Assicurati "/" alla fine dell'URI di reindirizzamento dell'autenticazione di Facebook

Queste configurazioni hanno funzionato per me.


6

Nel mio caso, dovevo solo assicurarmi di avere i miei URL con e senza www per il dominio dell'applicazione e gli URL di reindirizzamento :

inserisci qui la descrizione dell'immagine

Nel mio caso, ho dovuto usare: signin-facebookdopo l'URL del mio sito, per l'URL di reindirizzamento.


I domini delle app sono davvero necessari? Quando ho provato a livello locale, ha funzionato senza impostare App Domains
— Darius.V

Usi oAuth e il reindirizzamento?
— Hooman Bahreini


3

Il passaggio da hauth.done = Facebook a hauth_done = Facebook negli URI di reindirizzamento OAuth validi ha risolto il problema per me.


1

Ok Prima di tutto questo è un messaggio di errore molto chiaro. Basta guardare a questo a molti sviluppatori, compreso me stesso. Dai un'occhiata alla schermata qui per favore.

inserisci qui la descrizione dell'immagine

In Prodotti> Accesso a Facebook> Impostazioni

o vai a questo URL qui (sostituisci YOUR_APP_ID con il tuo id app lol):

https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/

Se stai lavorando, localhost:3000assicurati di averlo fattohttps://localhost:3000/auth/facebook/callback

Ovviamente non è necessario che lo stato sia attivo (interruttore verde nell'angolo in alto a destra) ma nel mio caso, sto distribuendo su heroku ora e presto lo sostituirò localhost:3000conhttps://myapp.herokuapp.com/auth/facebook/callback

Ovviamente aggiornerò gli URL in Impostazioni / Base e Impostazioni / Avanzate e aggiungerò anche un URL della politica sulla privacy nella sezione di base.

Presumo che tu abbia configurato correttamente gli inizializzatori / devise.rb se stai usando devise e hai la gem 'omniauth-facebook', '~> 4.0'gemma Facebook corretta installata e gem 'omniauth', '~> 1.6', e hai le colonne necessarie nella tabella degli utenti come uid, immagine e provider. Questo è tutto.


1

Potrebbe aiutare qualcuno.

Ho ricevuto il messaggio di errore simile, ma solo in ambienti di sviluppo e gestione temporanea, non in produzione. Gli URI di reindirizzamento validi sono stati impostati correttamente, per i sottodomini di sviluppo e di staging, nonché per la produzione.

Si è scoperto che dimenticavo che per quegli ambienti utilizziamo l'app FB di test, che è separata nella pagina degli sviluppatori FB. Ho dovuto selezionarlo e aggiornare le sue impostazioni.



0

Login Helper del tuo sito

$ loginUrl = $ helper-> getLoginUrl ('xyz.com/user_by_facebook/', $ permissions);

e nella dashboard dell'applicazione Facebook (nella scheda prodotti: Accesso Facebook )

Anche gli URI di reindirizzamento OAuth validi dovrebbero essere gli stessi per xyz.com/user_by_facebook/

come accennato in precedenza durante la richiesta dal web


0

Abbiamo avuto lo stesso problema, un tale incubo.

  1. Assicurati che gli ID app e le chiavi segrete siano corretti. Se utilizzi app di sviluppo, gestione temporanea e produzione separate per i test, gli ID app e le chiavi segrete sono tutti diversi per ciascuna app. Questo è spesso il problema.

  2. Assicurati di avere l'URL di richiamata impostato correttamente nel file di configurazione dell'app (vedi sotto). Quindi aggiungilo come stesso URL nelle impostazioni " Accesso Facebook " dove dice " URI di reindirizzamento OAuth validi ". Dovrebbe assomigliare a questo (a seconda del tuo ambiente):

http://localhost/auth/facebook/callback http://staging.example.com/auth/facebook/callback http://example.com/auth/facebook/callback

  1. Assicurati che il dominio della tua app sia impostato sul dominio corretto per ogni ambiente, inclusi "www" e "no-www". Facebook richiede anche che questi domini corrispondano all'URL del tuo sito web o della piattaforma dell'app. Dovrai selezionare " Aggiungi piattaforma " per aggiungerlo.

il requisito di abbinare gli URI di reindirizzamento con l'URL del sito Web non è possibile per me perché i miei URI di reindirizzamento o definiti su un altro server e il mio sito Web è servito da un server diverso, posso farlo?
— Jawad

0

Nel mio caso, stavo integrando il login di Facebook all'interno di un tutorial dell'app Rails. Avevo aggiunto http: // localhost: 3000 / adsf ai miei URI di reindirizzamento OAuth validi, ma l'app Rails avrebbe aperto l'URL come http://0.0.0.0:3000 e avrebbe quindi provato a reindirizzare a http: //0.0. 0.0: 3000 / asdf . Dopo aver aggiunto http://0.0.0.0:3000/asdf agli URI di reindirizzamento OAuth validi o essere passati a http: // localhost: 3000 / asdf , ha funzionato come previsto.


0

Nel mio caso l'URI, come è stato definito su FB, andava bene, ma stavo usando Spring Security e aggiungeva ; jsessionid = 0B9A5E71DAA32A01A3CD351E6CA1FCDD al mio URI, quindi ha causato la mancata corrispondenza.

https://m.facebook.com/v2.5/dialog/oauth?client_id=your-fb-id-code&response_type=code&redirect_uri=https://localizator.org/auth/facebook;jsessionid=0B9A5E71DAA32A01A3CD351E6CA1FCDD&scope=email&state=b180578a-007b-48bc-bd81-4b08c6989e18

Per evitare la riscrittura dell'URL ho aggiunto disable-url-rewriting = "true" alla configurazione di Spring Security, in questo modo:

<http auto-config="true" access-denied-page="/security/accessDenied" use-expressions="true"
      disable-url-rewriting="true" entry-point-ref="authenticationEntryPoint"/> 

E ha risolto il mio problema.

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.