it-swarm-tr.com

Facebook OAuth "Bu URL'nin etki alanı, uygulamanın etki alanına dahil edilmedi"

Önce bu soruyu bir süredir aradığımı söyleyerek başlayalım ...

Makinemde yerel olarak geliştirilmekte olan uygulamamla çalışmak için Facebook OAuth'u ayarlamaya çalışıyorum. Her şey mükemmeldi. Facebook yetkilendirmesi ile mükemmel çalışıyordu UNTIL localhost işlevini kullanmaktan başka bir etki alanı adına geçtim (makinemde hala yerel.) Şimdi aşağıdaki hatayı alıyorum.

URL Yüklenemiyor: Bu URL'nin etki alanı, uygulamanın etki alanlarına dahil edilmedi. Bu URL’yi yükleyebilmek için, uygulamanızın tüm etki alanlarını ve alt etki alanlarını uygulama ayarlarınızdaki Uygulama Etki Alanları alanına ekleyin.

Ana bilgisayar dosyam 127.0.0.1 photovote.dev içeriyor (mükemmel çalışıyor)

Uygulamamdaki yönlendirmem (Socialite kullanarak): http://photovote.dev/auth/facebook/callback

Facebook Uygulama Ayarlarımda ...

  • uygulama Alanım: photovote.dev
  • site URL’m http://photovote.dev/
  • geçerli OAuth yönlendirme URI'larım: http://photovote.dev/auth/facebook/callback

Hata mesajındaki URL.

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

Sorunun ne olduğunu yitiriyorum ...

Ekran Görüntüsü 1
Screen Shot

Ekran Görüntüsü 2 enter image description here

207
dangel

Bu, genellikle Facebook'ta Uygulamayı oluştururken yanlış ayrıntıları girmiş olmanız durumunda gerçekleşir. Yoksa mevcut bir uygulamanın URL’sini değiştirdiniz mi?

Bu sayfadaki APP ayarlarınızı tekrar kontrol edebilir misiniz?

https://developers.facebook.com/apps

  1. Doğru Uygulamayı seçin ve düzenle düğmesine tıklayın;

  2. URL’lerin ve yolların doğru girildiğinden ve Ultimate Facebook eklentisini kurduğunuz siteyi gösterdiğinden emin olun.

60
Lei Lionel

Birisi bununla karşılaşır ve bu ayarları ararsa (benim gibi)

Yapman gerek 

  1. Sol tarafta, "+ Ürün Ekle" yi tıklayın ve "Facebook Giriş" i seçin (benim için en iyisiydi.)
  2. Sol tarafta bulunan yeni ayarlara bakın
  3. Şimdi "Ürün Ayarları" ndaki OAuth ayarlarına sahip olacaksınız.

enter image description here

Ek Bilgi: Facebook Giriş sayfasındaki ayarlar sayfasında http://localhost:3000 gibi Geri Arama URL'sini Valid OAuth redirect URIs alanına eklediğinizden emin olun.

187
Craig Lambie

Ben de aynı problemi yaşadım. OAuth yönlendirme URI'mı getAccessToken işlev çağrısına argüman olarak ekleyerek çözdüm:

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

Bu işleve argüman gönderilmezse, SDK, çalışması gereken yönlendirme URI'sını kendisi oluşturur, ancak benim durumumda vermedi.

Umarım bu birine yardımcı olur.

45
Swoot

Uygulamanızın herkese açık olduğundan emin olun ..__ + Ürün ekle 'ye tıklayın. Şimdi ürünler => Facebook Login .__' a gidin.

Geçerli OAuth yönlendirme URI'leri: example.com/

Geri Arama URL’sini Yetkilendirme: https://example.com/facebookapp http://unicodeitsolutions.com/

30
Sanjoy Kanrar

İşte bu sorunu çözmek için yaptığım şey:  enter image description here

Temelde: 

1) "Katıştırılmış Tarayıcı OAuth Giriş" i etkinleştirin

2) "Yönlendirme URI'ları için Katı Modu Kullan" seçeneğini devre dışı bırakın ve bir yönlendirme girin. URI yaptığım gibi. 

3) Seçeneklerin kalanını olduğu gibi bırakın. 

4) Değişikliklerinizi kaydedin.

5) :) tadını çıkarın

18
bangbang

Aynı sorunu yaşadım ve yanlış bir client_id/Facebook App ID'den geldi.

Facebook uygulamanızı "genel" veya "çevrimiçi" olarak mı değiştirdiniz? Bunu yaptığınızda, Facebook yeni bir Uygulama Kimliği ile yeni bir uygulama oluşturur.

URL'deki "client_id" parametre değerini Facebook panonuzdaki değerle karşılaştırabilirsiniz.

7

Düzelttiğim yol: Geçerli OAuth Redirect URI'lerinin metin kutusuna gitmiştim ve exact URL, sadece etki alanını değil

önce: https://my-website.com 

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

(url sizin durumunuzda farklı olabilir, tarayıcının adres çubuğundan kontrol edin).

Bunun nedeni, Evet konumunda kilitlenen Yönlendirme URI'ları için Sıkı Modu Kullan ayarından kaynaklanmıştır.

6
Cosmin

URL Yüklenemiyor: Bu URL'nin etki alanı, uygulamanın etki alanlarına dahil edilmedi. Bu URL’yi yükleyebilmek için, uygulamanızın tüm etki alanlarını ve alt etki alanlarını uygulama ayarlarınızdaki Uygulama Etki Alanları alanına ekleyin.

Bugün bu sorunu yaşadım, Facebook belgelerini ve SDK'yı saygısız buluyorum ve diğer geliştiricilere daha az şey söyleyebiliyorum.

"Uygulama alanları" nı pek fazla bilgi içermeyen iki farklı konumda bulundurmanın yanı sıra (3 bir "web" platformu eklerseniz), ayrıca uygulama ürünleri/facebook giriş/ayarlar ve yönlendirme URL’nizi altında ekleyin. Geçerli OAuth URI’leri Yönlendirme

Hata, oauth ayarları hakkında HİÇBİR ŞEYİ diyor.

5
adrianTNT

here Kod Projesi ! Bana çalışıyor

 enter image description here

FB gösterge panosunun ürün bölümünde uygun geçerli OAuth yönlendirme URL’si olmadığında çoğu zaman gerçekleşir. benim feryat adımlarım

01. Uygulamanın temel ayarının yandaki resminizle tamam olup olmadığını kontrol edin

enter image description here

02. ürün ekleyip eklemediğinizi kontrol edin

Değilse, aşağıda gösterildiği gibi + sinüsü tıklatarak kolayca giriş yapabilirsiniz.

Evet ise, ürün ayarının içine yeni girdi. enter image description here

03. Geçerli olup olmadığını kontrol edin OAuth yönlendirme URL’si

Basit, oturum açtıktan sonra ne olması gerektiği anlamına gelir. Bu, sizin geri arama URl’nizden başka bir şey değildir. enter image description here

  1. daha fazla sorun yaşarsanız Videomu izleyin--> https://www.youtube.com/watch?v=mdhubrzV5y8&t=3s
5

Bende de aynı problem vardı.

Yerel adresimin bağlantısını http: //localhost/Facebook%20Login%20Test.html 'a Site URL uygulama başvurumda/- https://developers.facebook.com/apps ekledim.

Şimdi iyi çalışıyor :) Umarım bu yararlı oldu;)

4
iteb khayati

2017-10 itibariyle. 

Sorunumu çözen çözüm.

Şu anda FB bu sürprizi ortaya koyuyor.

...app’ın Müşteri OAuth Ayarları. Müşteri ve Web OAuth Girişi'nin yapıldığından emin olun ...

enter image description here

Ayarlanacak ayarlar burada bulunur https://developers.facebook.com/apps/Гyour_app_itentifier—/fb-login/ .

Sondaki eğik çizgi önemlidir. Uygulama kodunuzda ve FB yönetici ayarlarında eşleşmeleri gerekir. Bu, kodunuzda bir yerde bir yapılandırmadır (bir dev uygulaması için herhangi bir alan adının nasıl alınacağına bakınız):

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

ve burada

enter image description here

Yerel bir Windows makinesinde bir uygulamanın herhangi bir etki alanı adını almak için Host dosyasını düzenleyin. Özel isimler, tüm bu localhost:8080, 0.0.0.0:30303, 127.0.0.0:8000 gibi şeylerden kurtulmak için iyidir. Çünkü FB gibi bazı üçüncü taraf servisleri bazen 127.0.0.0 adlarını kullanmanıza izin vermez.

Windows 10'da hosts dosyası burada:

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

İlk dosyayı yedekleyin, farklı bir adla bir kopya oluşturun (Yerel Windows CMD'de çalışmıyor. Windows için Git kullanıyorum, birçok Unix komutu var)

$ cp hosts hosts.bak

Bunu hosts içine ekleyin

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

Bağlantı noktası bölümünden kurtulmak için :3000, örneğin NGINX'i ayarlar.

4
Green

Kullanmakta olduğum SDK sürümünü güncelleyene kadar hiçbir şey benim için işe yaramadı. 5.0 ile başladım. 5.4.0 bile yapılmayacaktı. 5.6.2'ye güncellediğimde, ilgili değişimler arasında hiçbir şey olmamasına rağmen, kusursuz çalıştı!

3
Ste_95

Bunun başkasına yardım etmesi durumunda, "Geçerli OAuth Yönlendirme URI'ları" zorunlu hale geldiğinde, bu benim için eski bir sitede olmaya başladı. Site hala V4 PHP SDK kullanıyordu ve sorun V5 SDK'ya yükseltilerek benim için çözüldü. 

2
Kenneth Spencer

Facebook kısa süre önce 'Yönlendirme URI'leri için Sıkı Modu Kullan' için geçiş düğmesini devre dışı bıraktı, bu yüzden giriş düğmesine bastığınızda tam olarak URI eklemeniz gerekir. Benim durumumda ekran görüntüsünde gösterildiği gibiydi. Bu benim için sorunu çözdü :)

 enter image description here

2

Bu seçenek portalda etkinleştirilmelidir:

 enter image description here

2

Uygulama etki alanı bölümünde, uygulama etki alanınızı yazıyorsunuz ancak aynı zamanda oturum açma etki alanınızı da (örneğin, kullanıcı girişi yapmasını istediğiniz html sayfasının adını) eklemeniz gerekir. Benim durumumda, bunu localhost'ta test ediyordum ve giriş yolu localhost/login oldu, eğer sadece http://localhost.com 'yi App domain bölümünde koyarsam, bu hatayı alıyorum. Ancak http: //localhost/login.com 'u ekledikten sonra hata düzeltildi. ve ayrıca Uygulama ayarları, OAuth yönlendirme rotası için hiçbir seçeneğin bulunmadığı SDK'nın daha yeni sürümünde değişmiştir. OAuth belirtecini başarılı bir şekilde aldıktan sonra, yönlendirme rotasını doğrudan sunucu tarafından atamanız gerekir.

1
Anum Sheraz

Ben de aynı sorunu yaşadım ..... ihraç PHP SDK 5.6.2 versiyonunda ve düzeltme şu dosyayı düzenliyor: 

facebook\src\Facebook\Helpers\FacebookRedirectLoginHelper.php

bu satırı değiştir

$redirectUrl = FacebookUrlManipulator::removeParamsFromUrl($redirectUrl,['state','code']);

-

$redirectUrl = FacebookUrlManipulator::removeParamsFromUrl($redirectUrl,['state','code','enforce_https']);

1
Chevelle

Benim durumumda, yapmam gereken şeyler yalnızca Gömülü Tarayıcı OAuth Girişi özelliğini etkinleştirmektir.

 enter image description here

1
sh6210

Bu benim için çalıştı:

Anlaşılması gereken temel şey şudur: Facebook her zaman "WWW" etki alanını kontrol eder. Öyleyse, önce www.your_domain.dev 'nin tarayıcınızda çalıştığından emin olun. 

Yerel sunucunuzda birden fazla sanal ana makineniz varsa, diğer bazı sanal Ana Bilgisayarlar " www.your_domain.dev " komutunu geçersiz kılar. Lütfen kontrol et lütfen. Apache, İLK etki alanı tanımını (veya bağlantı noktalarını veya bu terimlerle ilgili bir şey seçecektir - bu konuda uzman değilim, ancak hatalar tarafından öğrenildi) . "www.your_domain.dev" httpd-vhosts.conf "dosyasının en üstünde sanal sunucu tanımı.

" /Apache/conf/https-vhosts.conf " dizinine gidin ve bunu dosyanın en üstüne yerleştirin:

<VirtualHost *:80>
<Directory "C:/your_app_folder_path/">
    Options FollowSymLinks Indexes
    AllowOverride All
    Order deny,allow
    allow from All
</Directory>
ServerName your_domain.dev
ServerAlias your_domain.dev
DocumentRoot "C:/your_app_folder_path/"
</VirtualHost>

###### FOR SSL #####
<VirtualHost *:443>
    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"
    <Directory "C:/your_app_folder_path/">
        Options All
        AllowOverride All
        Require all granted 
    </Directory>
</VirtualHost>

Sonraki: Windows kullanıyorsanız, "hosts" dosyanızı "C:\Windows\System32\drivers\etc" içinde iki satır ekleyerek düzenleyin:

127.0.0.1 your_domain.dev
127.0.0.1 www.your_domain.dev

Sonraki: Apache sunucunuzu yeniden başlatın ve her şey şimdi çalışmalı.


Umarım bu size yardımcı olur ve zaman kazanmanızı sağlar. Neredeyse bütün bir günü web'de arama yaparak boşa harcadım ve saçlarımı çekti ve bunu bulana kadar yararlı bir şey bulamadım.

1
Albo Best

Aynı Facebook hatası bana Üretim ortamında da oldu. Bunun nedeni, Facebook'a (Yerel, Üretim) kayıtlı 2 uygulamam oldu ancak Yerel uygulama kimliğini kaynak koduna kodladım ve dağıtımdan önce Üretim uygulama kimliğine dönüştürmeyi unuttum.

En iyi uygulama, uygulama kodunun kaynak kodda kodlanmış olmamasını gerektirir ancak yaparsanız, yanlışlıkla yaptığım gibi çeşitli Facebook uygulama kimliklerini yanlış eşleştirmeyin.

0
Jimmy Shaw

Kendi yerel sunucumu kullanarak.

Basitçe http://localhost/my-site 'u URL olarak eklemek:

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

benim için çalıştı. 

0
Reece Kenney

ilk adım: tüm https://example.in veya ssl sertifika URL'sini kullanın, kullanmayın http://example.in

ikinci adım: faceboook uygulama ayarı-> temel ayar-> alan adınızı veya alt alan adınızı ekleyin

üçüncü adım: faceboook uygulama giriş ayarı-> Geçerli OAuth Yönlendirme URI'leri-> giriş yaptıktan sonra tüm yönlendirme URL'nizi ekleyin

dördüncü adım: faceboook uygulama ayarı-> gelişmiş ayar-> Etki alanı yöneticisi-> etki alanı adınızı ekleyin 

tüm bu adımı uygulayın, sonra uygulama kimliğinizi, uygulama sürümünü, kurulum için uygulama sırrınızı kullanın

0
ganesh avhad

FB ve oturum açma prosedürünü sıkılaştırırken sorun ve cevaplar değişmeye devam ediyor. Bugün, bu korku mesajını almaya başladım "Bu URL'nin etki alanı, uygulamanın etki alanlarına dahil edilmedi. Bu URL'yi yükleyebilmek için, uygulamanızın tüm etki alanlarını ve alt etki alanlarını uygulama ayarlarınızdaki Uygulama Etki Alanları alanına ekleyin."

Cevap şuydu: şimdi FB tam yönlendirme uri istiyor. Yani benim için eskiden olduğu yerde https://www.example.com şimdi istiyor https://www.example.com/auth/facebook/callback . Bu, "Geçerli OAuth yönlendirmesi URI'leri" alanına girmelidir (Geliştirici/Facebook giriş-> ayarı)

0
Peter Robinson

Facebook Giriş -> Ayarlar -> Geçerli OAuth yönlendirme URI'leri -> yönlendirme URL'nizin alan adlarını girin, 'https' veya http eklemeniz gerektiğini unutmayın. örneğin: yönlendirme URL’niz https://xxx.xxx.com/path/callback.do, siz yalnızca girmeniz gerekiyor https://xxx.xxx.com/, benim için sorun değil.

0
刘同彬