Facebook OAuth “Il dominio di questo URL non è incluso nel dominio dell’app”

Permettetemi innanzitutto di dire che ho cercato una risposta a questa domanda per un po ‘di tempo …

Sto cercando di configurare Facebook OAuth per funzionare con la mia applicazione che viene sviluppata localmente sulla mia macchina. Tutto funzionava perfettamente con l’authorization di Facebook FINO A quando mi sono trasferito localhost a un altro nome di dominio (ancora locale alla mia macchina.) Ora sto ricevendo il seguente errore.

Imansible caricare l’URL: il dominio di questo URL non è incluso nei domini dell’app. Per poter caricare questo URL, aggiungi tutti i domini e sottodomini della tua app al campo App Domains nelle impostazioni dell’app.

Il mio file hosts contiene 127.0.0.1 photovote.dev (funziona perfettamente)

Il mio reindirizzamento nella mia app (usando Socialite) è http://photovote.dev/auth/facebook/callback

Nelle mie impostazioni dell’app Facebook …

  • Il mio dominio App è photovote.dev
  • l’URL del mio sito è http://photovote.dev/
  • il mio URI di reindirizzamento OAuth valido è http://photovote.dev/auth/facebook/callback

L’URL al momento del messaggio di errore è ..

https://www.facebook.com/v2.5/dialog/oauth?client_id=XXXXXXXXXXXXXXX&redirect_uri=http%3A%2F%2Fphotovote.dev%2Fauth%2Ffacebook%2Fcallback&scope=email&response_type=code&state=0ztcKhmWwFLtj72TWE8uOKTcf65JmePtG95MZLDD

Sono in perdita di qual è il problema …

Screen Shot 1
Immagine dello schermo

Screen Shot 2 inserisci la descrizione dell'immagine qui

Questo di solito accade se hai inserito i dettagli sbagliati quando hai creato l’app su Facebook. O hai cambiato l’URL di un’app esistente?

Puoi ricontrollare le impostazioni della tua APP in questa pagina?

https://developers.facebook.com/apps

  1. Seleziona l’app corretta e fai clic sul pulsante di modifica;

  2. Verifica che URL e percorsi siano stati inseriti correttamente e puntino al sito in cui hai installato il plug-in Ultimate Facebook.

Nel caso qualcuno si imbatta in questo e sta cercando queste impostazioni (come me)

Devi

  1. Sul lato sinistro, fai clic su “+ Aggiungi prodotto” e seleziona “Login Facebook” (era per me al top)
  2. Guarda le nuove impostazioni disponibili sul lato sinistro
  3. Ora avrai queste impostazioni OAuth su “Impostazioni prodotto”

inserisci la descrizione dell'immagine qui

Informazioni aggiuntive: assicurati di aggiungere l’URL di richiamata come http://localhost:3000 al campo Valid OAuth redirect URIs nella pagina delle impostazioni di Facebook Login

Ho avuto lo stesso problema. Ho risolto il problema aggiungendo il mio URI di reindirizzamento OAuth come argomento alla chiamata della funzione getAccessToken:

 $redirectLoginHelper->getAccessToken("https://www.example.com/myfacebookcallback") 

Se non viene inviato alcun argomento in quella funzione, l’SDK genera da solo l’URI di reindirizzamento che dovrebbe funzionare ma nel mio caso non lo ha fatto.

Spero che questo aiuti qualcuno.

Assicurati che la tua app sia pubblica. Fai clic su + Aggiungi prodotto Ora vai a prodotti => Facebook Accedi ora effettua le seguenti operazioni:

URI di reindirizzamento OAuth validi: example.com/

Elimina l’URL di richiamata: https://example.com/facebookapp http://unicodeitsolutions.com/

Ecco cosa ho fatto per risolvere questo problema: inserisci la descrizione dell'immagine qui

Fondamentalmente:

1) Abilita ” Login OAuth browser integrato

2) Disabilita ” Usa modalità rigorosa per URI di reindirizzamento ” e inserisci un URI di reindirizzamento come nel mio caso.

3) Lascia tutto il resto delle opzioni così come sono.

4) Salva le tue modifiche.

5) Divertiti 🙂

Ho avuto lo stesso problema e proveniva da un ID app client / id sbagliato.

Hai cambiato la tua app di Facebook in “pubblica” o “online? Quando lo fai, Facebook crea una nuova app con un nuovo ID di app.

Puoi confrontare il valore del parametro “client_id” nell’URL con quello nella dashboard di Facebook.

Clicca qui Codice Progetto ! Il suo esempio di progetto di codice. Sta lavorando per me

inserisci la descrizione dell'immagine qui

Ho avuto lo stesso problema,

Ho appena aggiunto il link del mio indirizzo locale http: //localhost/Facebook%20Login%20Test.html Site URL nell’impostazione della mia applicazione https://developers.facebook.com/apps .

Ora funziona bene 🙂 Spero che questo sia stato utile;)

A partire dal 2017-10.

Soluzione che ha risolto il mio problema.

Attualmente quell’FB rende questa sorpresa.

Impostazioni OAuth del client dell’app. Accertarsi che l’accesso OAuth client e Web sia attivo

inserisci la descrizione dell'immagine qui

Le impostazioni da regolare si trovano qui https://developers.facebook.com/apps/%5Byour_app_itentifier%5D/fb-login/ .

La barra finale è importante. Devono corrispondere nel codice dell’app e nelle impostazioni di amministratore FB. Quindi questa è una configurazione da qualche parte nel tuo codice (vedi sotto come ottenere qualsiasi nome di dominio per un’app di sviluppo):

 { callbackURL: `http://my_local_app.com:3000/callback/`, // trailing slash } 

e qui

inserisci la descrizione dell'immagine qui

Per ottenere qualsiasi nome di dominio per un’app su una macchina Windows locale, modifica il file host . I nomi personalizzati sono buoni per sbarazzarsi di tutti questi localhost:8080 , 0.0.0.0:30303 , 127.0.0.0:8000 , ecc. Poiché alcuni servizi di terze parti come FB a volte non riescono a consentire l’utilizzo di nomi 127.0.0.0 .

Su Windows 10 il file hosts è qui:

 C:\Windows\System32\drivers\etc\hosts 

Esegui il backup del file iniziale, crea una copia con un nome diverso (non funziona nella CMD di Windows nativa. Io uso Git per Windows , ha molti comandi Unix)

 $ cp hosts hosts.bak 

Aggiungi questo in hosts

 127.0.0.1 myfbapp.com # you can access it in a browser http://myfbapp.com:3000 127.0.0.1 www.myotherapp.io # In a browser http://www.myotherapp.io:2020 

Per eliminare la parte della porta :3000 imposta NGINX, ad esempio.

Il modo in cui l’ho risolto: sono passato alla casella di testo URI di Reid OAuth Redirect e ho impostato l’URL esatto , non solo il dominio :

prima: https://my-website.com

dopo: https://my-website.com/facebookoauth/facebooklogin

(l’url potrebbe essere diverso nel tuo caso, controllalo nella barra degli indirizzi del browser).

Ciò è stato causato dall’impostazione Usa modalità rigorosa per URI di reindirizzamento, che era bloccato nella posizione Sì.

Il più delle volte accade che non inserisca un URL di reindirizzamento OAuth valido nella sezione prodotto del dashboard FB. Suggerisco di seguire i miei passi

01. Verifica che le impostazioni di base dell’app siano corrette con l’immagine a soffietto

inserisci la descrizione dell'immagine qui

02. controlla se hai aggiunto un prodotto

In caso contrario, è ansible aggiungere facilmente il login nel prodotto facendo clic su + sinusoidale come mostrato nel muggito.

Se si è appena arrivato all’interno delle impostazioni del prodotto. inserisci la descrizione dell'immagine qui

03. Verifica se hai fornito un URL di reindirizzamento OAuth valido

Il suo semplice significa quello che dovrebbe dopo il login. Non è diverso da quello che hai richiamato URl. Puoi vedere nella mia immagine qui sotto ho aggiunto diversi URL di reindirizzamento. inserisci la descrizione dell'immagine qui

  1. avere ulteriori problemi Guarda il mio video–> https://www.youtube.com/watch?v=mdhubrzV5y8&t=3s

Niente ha funzionato veramente per me, finché non ho aggiornato la versione dell’SDK che stavo usando. Ho iniziato con 5.0. Neanche la 5.4.0 funzionerebbe. Quando ho aggiornato alla 5.6.2, ha funzionato perfettamente, nonostante non ci fosse nulla di rilevante nei changelog!

Questa opzione deve essere abilitata nel portale:

inserisci la descrizione dell'immagine qui

Nel caso in cui questo aiuti qualcun altro, questo è iniziato per me su un sito più vecchio quando “URI di reindirizzamento OAuth validi” sono diventati obbligatori. Il sito utilizzava ancora l’SDK PHP V4 e il problema è stato risolto con l’aggiornamento a V5 SDK.

Nella sezione del dominio App, stai scrivendo il dominio dell’app ma devi anche aggiungere il tuo dominio di accesso, ovvero il nome della pagina html in cui chiedi all’utente di accedere. Nel mio caso, lo stavo testando su localhost e il percorso di login era localhost / login, se metto solo http://localhost.com nella sezione del dominio app, ottengo questo errore. Ma dopo aver aggiunto http: //localhost/login.com , l’errore è stato corretto. e anche le impostazioni dell’app sono cambiate nella versione più recente di SDK, in cui non esiste alcuna opzione per il percorso di reindirizzamento OAuth. Devi assegnare il percorso di reindirizzamento direttamente dal lato server, dopo aver ottenuto correttamente il token OAuth.

Questo ha funzionato per me:

Ecco la cosa principale da capire: Facebook controllerà sempre il dominio ” WWW “. Quindi assicurati che http://www.your_domain.dev funzioni prima sul tuo browser.

È ansible che se si hanno più host virtuali sul proprio server locale, alcuni altri host virtuali sovrascrivano ” http://www.your_domain.dev “. Quindi per favore controlla quello Apache sceglierà la PRIMA definizione di dominio (o porte, o qualcosa in questi termini – non sono esperto in questo, ma imparato da errori). Una semplice soluzione rapida per questo override dell’host virtuale è di inserire ” http://www.your_domain.dev nella definizione di host virtuale nella parte superiore del file” httpd-vhosts.conf “.

Vai a ” /apache/conf/https-vhosts.conf ” e mettilo in cima al file:

   Options FollowSymLinks Indexes AllowOverride All Order deny,allow allow from All  ServerName your_domain.dev ServerAlias your_domain.dev DocumentRoot "C:/your_app_folder_path/"  ###### FOR SSL #####  DocumentRoot "C:/your_app_folder_path/" ServerName your_domain.dev ServerAlias www.your_domain.dev SSLEngine on SSLCertificateFile "conf/ssl.crt/server.crt" SSLCertificateKeyFile "conf/ssl.key/server.key"  Options All AllowOverride All Require all granted   

Successivo: Se si utilizza il sistema Windows, modificare il file “hosts” in “C: \ Windows \ System32 \ drivers \ etc” aggiungendo due righe:

 127.0.0.1 your_domain.dev 127.0.0.1 www.your_domain.dev 

Successivo: riavvia il tuo server Apache e tutto dovrebbe funzionare ora.


Spero che questo ti aiuterà e ti farà risparmiare tempo. Ho perso quasi un giorno intero a cercare sul Web e mi stavo strappando i capelli e non ho trovato nulla di utile finché non ho trovato questo.

Facebook ha distriggersto di recente il pulsante di triggerszione / distriggerszione per ” Usa modalità rigorosa per URI di reindirizzamento “, quindi è necessario aggiungere l’URI esatto come viene chiamato quando si preme il pulsante di accesso. Per il mio caso è stato come mostrato nello screenshot. Ha risolto il problema per me 🙂

inserisci la descrizione dell'immagine qui

Imansible caricare l’URL: il dominio di questo URL non è incluso nei domini dell’app. Per poter caricare questo URL, aggiungi tutti i domini e sottodomini della tua app al campo App Domains nelle impostazioni dell’app.

Ho avuto questo problema oggi, trovo la documentazione di Facebook e SDK irrispettoso e arogante nei confronti di altri sviluppatori a dir poco.

Oltre ad avere “domini app” in due posizioni diverse senza molte informazioni (3 se aggiungi una piattaforma “web”), devi anche accedere ai prodotti app / accesso / impostazioni di Facebook e aggiungere l’URL di reindirizzamento sotto URI di reindirizzamento OAuth validi

L’errore dice NULLA delle impostazioni oauth.

Questo stesso errore di Facebook mi è successo nell’ambiente di produzione. Il motivo era che avevo 2 app registrate con Facebook (locale, produzione) ma ho codificato l’ID app locale nel codice sorgente e ho dimenticato di spegnerlo per l’ID app di produzione prima della distribuzione.

Le buone pratiche impongono che non si debba avere l’ID app codificato nel codice sorgente, ma se lo si fa, non mismatchare i vari ID app di Facebook come ho fatto per errore.

Usando il mio server locale.

Semplicemente aggiungendo http://localhost/my-site come URL in:

https://developers.facebook.com/apps/YOUR-APP-ID/fb-login/

ha funzionato per me

Il problema e le risposte continuano a cambiare mentre FB stringe la procedura di accesso. Oggi ho iniziato a ricevere questo messaggio horror “Il dominio di questo URL non è incluso nei domini dell’app. Per poter caricare questo URL, aggiungi tutti i domini e sottodomini della tua app al campo App Domains nelle impostazioni dell’app.”

La risposta è stata: ora FB vuole il reindirizzamento completo uri. Quindi per me, dove era solo https://www.example.com ora vuole https://www.example.com/auth/facebook/callback . Questo deve essere inserito nel campo “URI di reindirizzamento OAuth valido” (impostazioni Login / Facebook per sviluppatori)

Login Facebook -> Impostazioni -> URI di reindirizzamento OAuth validi -> inserisci i domini dell’URL di reindirizzamento, ricorda che devi aggiungere “https” o http. es .: se il tuo URL di reindirizzamento è https://xxx.xxx.com/path/callback.do , devi solo inserire https://xxx.xxx.com/ , per me va bene.

primo passaggio: utilizza tutti gli https://example.in o l’URL del certificato SSL, non utilizzare http://esempio.in

secondo passaggio: impostazioni dell’applicazione faceboook-> impostazioni di base-> aggiungi il tuo dominio o sottodominio

Terzo passo: impostazioni per l’accesso all’applicazione faceboook-> URI di reindirizzamento OAuth validi-> aggiungi l’url di reindirizzamento tutto dopo l’accesso

quarta fase: impostazione dell’applicazione faceboook-> impostazioni avanzate-> Domain Manager-> aggiungi il tuo nome di dominio

fare tutto questo passo quindi utilizzare l’id dell’applicazione, la versione dell’applicazione, l’app secret per l’installazione

Nel mio caso, le cose che dovevo fare è solo abilitare il login OAuth del browser integrato

inserisci la descrizione dell'immagine qui

La maggior parte delle risposte riguarda l’aggiunta dell’URL al dominio dell’app, ma quando si lavora in una società non si ha questo accesso. Per quelli, è ansible ignorarlo semplicemente creando un host virtuale e creando una voce host.


aggiungilo nel file host (/ etc / hosts) 127.0.0.1 http://www.your_domain.com

creare un host virtuale. Ho usato questo per l’host virtuale apache

ServerAdmin webmaster @ localhost ServerName http://www.your_domain.com

  ProxyPass / http://localhost:5006/ RewriteMap lc int:tolower LogLevel debug