Facebook giriş mesajı: "URL Engellendi: Yönlendirme URI'si uygulamanın İstemci OAuth Ayarlarında beyaz listeye eklenmediğinden bu yönlendirme başarısız oldu."


121

Önemli uyarı:

Test için kaydolursanız, profil ayarlarınıza gidin ve ilgi alanlarınıza profil silme ekleyin .

Web siteme Facebook ile giriş yapmaya çalışıyorum :

Şu hatayı alıyorum:

URL Engellendi: Yönlendirme URI'sı, uygulamanın İstemci OAuth Ayarlarında beyaz listeye alınmadığından bu yönlendirme başarısız oldu. İstemci ve Web OAuth Girişinin açık olduğundan emin olun ve tüm uygulama alanlarınızı Geçerli OAuth Yönlendirme URI'leri olarak ekleyin.

Benim settingsFacebook (Temel) şunlardır:

Gelişmiş sekmesinde Valid OAuth redirect URIsşu şekilde ayarlanmıştır:

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

Uygulama public.

Daha fazla ayar (Gelişmiş) burada: görüntü açıklamasını buraya girin

Uygulama anahtarı ve sırrı doğru. Meteor ve hesap paketlerini kullanıyorum.


ROOT_URL değeriniz nedir?
aedm

Facebook oturum açma sayfasına yönlendirmek için hangi url'yi kullanıyorsunuz? Yine de yetkilendirme isteğinde redirect_uri'yi belirtmeniz gerekir.
Edward Jiang

@aedm: ROOT_URL ayarlandıhttp://openstrategynetwork.com
Amir Rahbaran

@EdwardJiang: Bunu nerede yapabilirim? Bir zamanlar localhost için çalıştığı için garip. Ancak localhost bile artık çalışmıyor.
Amir Rahbaran

Bu sorunu da yaşıyorum, redirect_uri, İstemci OAuth Ayarlarındaki yapılandırmayla tam olarak eşleşiyor - daha fazla bilgi için developer.facebook.com/support/bugs/232085950706415 için yardıma ihtiyacınız var .. şimdiden teşekkürler
jdme

Yanıtlar:


80

Sitenizdeki Facebook ile giriş düğmesi şunlara bağlanıyor:

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

Farkına varmak: redirect_uri=http://openstrategynetwork.com/_oauth/facebook

Bunun yerine bağlantıyı şu şekilde değiştirirseniz:

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

İşe yaramalı. Veya Facebook bağlantısını şu şekilde değiştirebilirsiniz:http://openstrategynetwork.com/_oauth/facebook

Ayrıca http://localhost/_oauth/facebookgeçerli yönlendirme URI'lerine de ekleyebilirsiniz .

Facebook, yeniden yönlendirme URI'larını beyaz listeye eklemenizi gerektirir, aksi takdirde insanlar hizmetiniz için Facebook ile oturum açabilir ve ardından erişim belirtecini saldırganın sunucusuna gönderebilir! Ve bunun olmasını istemezsiniz;]


4
OAuth yönlendirme URI'sı tam olarak nedir? Bunun kök web uygulamasıyla aynı URL olmasını beklerdim.
AlvinfromDiaspar

1
Bu işe yarıyor gibi görünüyor. Yine de uygulamanın altında oluşturduğum hesapla giriş yapmaya çalıştığımdan orijinal olmadığından emin değilim. Bu çözümü uyguladı ve farklı bir hesap kullandı ve işe yaradı (görünüşte). OAuth yönlendirme URI'ları üzerindeki dil ve bilgiler net olmalıdır. Bilgi, ezoterik ve neredeyse gizemli. Kullanılan terimler tanımlanmamış veya açıklığa kavuşturulmamıştır bile.
abtecas

çok teşekkürler sorunum çözüldü! ssl çalışıyor olsam bile
Sweet Chilly Philly

İşin püf noktası, yönlendirme url'sine bakmak ve bunu oturum açma-facebook'umdaki "Geçerli OAuth Yönlendirme URI'larına" eklemektir.
Usama Saleem

1. Geçerli Yetkilendirme yönlendirme URI'lerinize
Bhavin Rana

79

Sorgulayanın yazdığı gibi

Gelişmiş sekmesinde, Geçerli OAuth yönlendirme URI'leri şu şekilde ayarlanmıştır: ...

ve ben de aynı sorunu yaşadım (yönlendirme url'sini yanlış giriş alanına yazarken) bunu vurgulamak isterim

Değil

Settings -> Advanced -> Share Redirect Whitelist

fakat

Facebook Login -> Settings -> Valid OAuth redirect URIs

Bana 2 saatlik deneme yanılma süresi kazandırırdı.

Ayrıca akılda olmalıdır www.example.comaynı değildir example.com. Yönlendirme URL'sine her iki biçimi de ekleyin.


11
Aşağı oy verenler: Lütfen endişeleriniz hakkında bir yorum ekleyin, aksi takdirde cevap daha iyi olmaz.
andymel

6
Tanrım, yanlış yere bakmak için çok zaman harcadım, teşekkürler.
ricks

Yeni bir URI eklemeye çalışıyorum: New HTTP Redirect URIs are not allowed:(
XCS

Çok teşekkürler. Her şeyi denedim ama yanlış yerde. "Yeniden Yönlendirme Beyaz Listesini Paylaş" ne anlama geliyor?
Sunil Kumar

20

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

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

Facebook düğmesine tıkladıktan sonra tarayıcımdan aldım, tarayıcınız Facebook API ile entegrasyon için bir bağlantıya yönlendirilecek, böylece bu yönlendirmeyi nereden alacaksınız. Benim durumum için bağlantı, redirect_url'yi aldığım yerdi.

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/

görüntü açıklamasını buraya girin görüntü açıklamasını buraya girin


MVC başvurum için site url'sine "/ signin-facebook" eklemem gerekiyordu .... harika ipucu için teşekkürler!
davaus

Haftalarımı kurtarıyorsun @Umar Asghar
kn3l

11

" Uygulama Alan Adı " ve Facebook Login => Geçerli OAuth yönlendirme URI'larından emin olun . Orada www veya www olmadan kontrol etmelisiniz . Php, html, css dosyalarında ve Fb uygulama ayarlarında tüm URL'ler için www ile veya olmadan kullanırsanız daha iyidir.

Diğer bir şey de, URL'lerin "/" ucunu kullanıyorsanız, bu URL'yi Geçerli OAuth yönlendirme URI'larının uygulama ayarlarına eklemeniz gerektiğidir . Örnek: - https://www.example.com/index.php/ Eğer bu url'yi yönlendirme url'sinde kullanıyorsanız, bunu uygulama ayarlarına ayarlamalısınız.

Umarım bu yardımcı olur.


uygulama etki alanında hem www ile hem de www olmadan
ekliyorsunuz

Bu yazıyla ne demek istiyorsun arkadaşım biraz kafam karıştı.
TheBAST

6

Düğüm Uygulamam için,

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

göreceli geri arama URL'si koy

OAuth yönlendirme URI'lerim aşağıdaki gibi

görüntü açıklamasını buraya girin

Emin olabilmek "/" at URI yönlendirme Facebook auth sonunda

Bu kurulumlar benim için çalıştı.


6

Benim durumumda, Uygulama Alanı ve Yeniden Yönlendirme URL'leri için hem www içeren hem de www olmadan URL'lerime sahip olduğumdan emin olmalıydım :

görüntü açıklamasını buraya girin

Benim durumumda, signin-facebookURL'yi yeniden yönlendirmek için sitemin url'sinden sonra kullanmalıydım .


Uygulama Alanlarına gerçekten ihtiyaç var mı? Yerel olarak test ettiğimde, Uygulama Etki Alanları'nı ayarlamadan çalıştı
Darius.V

OAuth ve yönlendirme kullanıyor musunuz?
Hooman Bahreini


3

Dan Değişen hauth.done = Facebook için hauth_done = Facebook Geçerli OAuth yönlendirme URI'larda benim için düzelttim.


1

Tamam Her şeyden önce bu çok açık bir hata mesajı. Ben de dahil olmak üzere bunu özleyen birçok geliştiriciye bakın. Lütfen buradaki ekran görüntüsüne bir göz atın.

görüntü açıklamasını buraya girin

Ürünler> Facebook Oturum Aç> Ayarlar altında

veya buradaki url'ye gidin (YOUR_APP_ID'yi uygulama kimliğiniz lol ile değiştirin):

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

Üzerinde çalışıyorsanız, localhost:3000sahip olduğunuzdan emin olun.https://localhost:3000/auth/facebook/callback

Eğer (sağ üst köşede Yeşil Anahtarı) Canlı statüsüne sahip gerekmez ama benim durumumda, ben şimdi Heroku dağıtma ve yakında yerini alacak Tabii localhost:3000ilehttps://myapp.herokuapp.com/auth/facebook/callback

Tabii ki URL'leri Ayarlar / Temel ve Ayarlar / Gelişmiş'de güncelleyeceğim ve ayrıca temel bölüme bir gizlilik politikası URL'si ekleyeceğim.

Eğer devise kullanıyorsanız ve doğru facebook gem 'omniauth-facebook', '~> 4.0'gem kurulu ise ve gem 'omniauth', '~> 1.6'kullanıcı tablonuzda uid, image ve provider gibi gerekli sütunlara sahipseniz, başlatıcıları / devise.rb'yi uygun şekilde yapılandırdığınızı varsayıyorum . Bu kadar.


1

Birine yardımcı olabilir.

Benzer hata mesajını aldım, ancak yalnızca geliştirme ve hazırlama ortamlarında, üretimde değil. Geçerli yeniden yönlendirme URI'leri, geliştirme ve hazırlama alt alanlarının yanı sıra üretim için doğru şekilde ayarlandı.

Bu ortamlar için FB geliştirici sayfasında ayrı bir test olan FB uygulamasını kullandığımızı unutmuşum. Bunu seçmek ve ayarlarını güncellemek zorunda kaldı.



0

Sitenizin Giriş Yardımcısı

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

ve facebook uygulama kontrol panelinde (Ürünler sekmesinin altında: Facebook Girişi )

Geçerli OAuth yönlendirme URI'ları da xyz.com/user_by_facebook/ ile aynı olmalıdır

web'den istekte bulunurken daha önce belirtildiği gibi


0

Aynı sorunu yaşadık, böyle bir kabus.

  1. Uygulama Kimliklerinizin ve Gizli Anahtarlarınızın doğru olduğundan emin olun. Test için ayrı geliştirme, hazırlık ve üretim uygulamaları kullanıyorsanız, Uygulama Kimlikleri ve Gizli Anahtarlar her uygulama için farklıdır. Bu genellikle problemdir.

  2. Geri arama URL'sinin uygulama yapılandırma dosyanızda doğru şekilde ayarlandığından emin olun (aşağıya bakın). Daha sonra bunu, " Geçerli OAuth yönlendirme URI'leri " yazan " Facebook Oturum Açma " ayarlarının altına aynı URL olarak ekleyin . Şöyle görünmelidir (ortamınıza bağlı olarak):

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

  1. Uygulama alan adınızın, hem "www" hem de "www içermeyen" dahil olmak üzere her ortam için doğru alana ayarlandığından emin olun. Facebook ayrıca bu alan adlarının web sitenizin veya uygulama platformunuzun URL'siyle eşleşmesini gerektirir. Bunu eklemek için " Platform Ekle " yi seçmeniz gerekecek .

Yönlendirme URI'lerini web sitesinin URL'si ile eşleştirme gereksinimi benim için mümkün değil çünkü yönlendirme URI'larım veya başka bir sunucuda tanımlı ve web sitem farklı bir sunucudan sunuluyor, bunun için ne yapabilirim?
Jawad

0

Benim durumumda, Facebook oturumunu bir Rails uygulaması öğreticisine entegre ediyordum. Ben eklemişti http: // localhost: 3000 / adsf benim geçerlidir OAuth Yönlendirme URI'ları, ama Raylar uygulaması olarak url açacak http://0.0.0.0:3000 ve bu nedenle yönlendirme çalışırdım http: //0.0. 0.0: 3000 / asdf . Geçerli OAuth Yönlendirme URI'larına http://0.0.0.0:3000/asdf ekledikten veya http: // localhost: 3000 / asdf'e gittikten sonra beklendiği gibi çalıştı.


0

Benim durumumda URI, FB'de tanımlandığı gibi iyiydi, ancak Spring Security kullanıyordum ve URI'ma; jsessionid = 0B9A5E71DAA32A01A3CD351E6CA1FCDD ekliyordu , bu yüzden uyumsuzluğa neden oldu.

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

URL'nin yeniden yazılmasını önlemek için , Spring Security yapılandırmasına devre dışı bırak-url-rewriting = "true" ekledim , şu şekilde:

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

Ve sorunumu çözdü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.