Ważna uwaga:
Jeśli zarejestrujesz się na testy, przejdź do ustawień swojego profilu i do swoich zainteresowań dodaj usuń profil .
Próbuję zalogować się przez Facebooka do mojej strony internetowej :
Otrzymuję następujący błąd:
Adres URL zablokowany: to przekierowanie nie powiodło się, ponieważ identyfikator URI przekierowania nie znajduje się na białej liście w ustawieniach OAuth klienta aplikacji. Upewnij się, że logowanie klienta i Web OAuth jest włączone i dodaj wszystkie domeny aplikacji jako prawidłowe identyfikatory URI przekierowania OAuth.
Moje settings
(podstawy) na Facebooku to:
- Domeny aplikacji: openstrategynetwork.com
- Adres URL witryny dla
website
: http://openstrategynetwork.com/
Na karcie zaawansowane Valid OAuth redirect URIs
jest ustawione na:
http://openstrategynetwork.com/_oauth/facebook?close
Aplikacja jest public
.
Więcej ustawień (Zaawansowane) tutaj:
Klucz i tajny klucz aplikacji są poprawne. Używam Meteor i jego pakietów kont.
źródło
http://openstrategynetwork.com
Odpowiedzi:
Logowanie za pomocą przycisku Facebook w Twojej witrynie prowadzi do:
https://www.facebook.com/v2.2/dialog/oauth?client_id=1500708243571026&redirect_uri=http://openstrategynetwork.com/_oauth/facebook&display=popup&scope=email&state=eyJsb2dpblN0eWxlIjoicG9wdXAiLCJjcmVkZW50aWFsVG9rZW4iOiIwSXhEU05XamJjU0VaQWdqcmF6SXdOUWRuRFozXzc0X19lbVhGWUJTZGNYIiwiaXNDb3Jkb3ZhIjpmYWxzZX0=
Ogłoszenie:
redirect_uri=http://openstrategynetwork.com/_oauth/facebook
Jeśli zamiast tego zmienisz link na:
redirect_uri=http://openstrategynetwork.com/_oauth/facebook?close
Powinno działać. Możesz też zmienić łącze Facebooka na
http://openstrategynetwork.com/_oauth/facebook
Możesz również dodać
http://localhost/_oauth/facebook
do prawidłowych identyfikatorów URI przekierowania.Facebook wymaga, abyś umieścił na białej liście przekierowujące identyfikatory URI, ponieważ w przeciwnym razie ludzie mogliby zalogować się za pomocą Facebooka do Twojej usługi, a następnie wysłać swój token dostępu do serwera atakującego! I nie chcesz, żeby tak się stało;]
źródło
Jak pisze pytający
i miałem ten sam problem (wpisanie adresu URL przekierowania w niewłaściwe pole wejściowe), chciałbym to podkreślić
To nie jest
ale
Oszczędziłoby mi to 2 godziny prób i błędów.
Należy również pamiętać, że
www.example.com
to nie to samo coexample.com
. Dodaj oba formaty do adresu URL przekierowania.źródło
New HTTP Redirect URIs are not allowed
:(To zadziałało dla mnie.
redierct_url = http://127.0.0.1:8080/accounts/facebook/login/callback/
Dostałem to z mojej przeglądarki po kliknięciu przycisku Facebooka Twoja przeglądarka zostanie przekierowana do linku do integracji z Facebook API, więc gdzie dostaniesz to przekierowanie. W moim przypadku link był ten, z którego otrzymałem 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/
źródło
Upewnij się, że „ Domena aplikacji ” i logowanie na Facebooku => Prawidłowe identyfikatory URI przekierowania OAuth . Tam musisz sprawdzić www lub bez www . Lepiej, jeśli używasz z www lub bez dla wszystkich adresów URL w plikach php, html, css i ustawieniach aplikacji Fb.
Inną rzeczą jest to, że jeśli używasz końcówki „/” adresów URL, musisz dodać ten adres URL do ustawień aplikacji z prawidłowymi identyfikatorami URI przekierowania OAuth . Przykład: - https://www.example.com/index.php/ jeśli ten adres URL, jeśli używasz adresu URL przekierowania, musisz ustawić go w ustawieniach aplikacji.
Mam nadzieję, że to pomoże.
źródło
W przypadku mojej aplikacji węzła
wstaw względny adres URL wywołania zwrotnego
Moje identyfikatory URI przekierowania OAuth w następujący sposób
Upewnij się, że znak „/” na końcu identyfikatora URI przekierowania uwierzytelniania Facebooka
Te konfiguracje działały dla mnie.
źródło
W moim przypadku musiałem tylko upewnić się, że mam moje adresy URL z i bez www dla domeny aplikacji i adresów URL przekierowań :
W moim przypadku musiałem użyć:
signin-facebook
po adresie mojej witryny, dla adresu przekierowania.źródło
Zmiana z hauth.done = Facebook na hauth_done = Facebook w prawidłowych identyfikatorach URI przekierowania OAuth naprawiła to za mnie.
źródło
Ok Przede wszystkim jest to bardzo wyraźny komunikat o błędzie. Wystarczy spojrzeć, jak wielu deweloperów za tym tęskni, w tym ja. Proszę spojrzeć na zrzut ekranu.
W obszarze Produkty> Logowanie na Facebooku> Ustawienia
lub po prostu przejdź do tego adresu URL tutaj (zamień YOUR_APP_ID na identyfikator aplikacji lol):
Jeśli pracujesz,
localhost:3000
upewnij się, że maszhttps://localhost:3000/auth/facebook/callback
Oczywiście nie musisz mieć statusu na żywo (zielony przełącznik w prawym górnym rogu), ale w moim przypadku wdrażam teraz do heroku i wkrótce zastąpię
localhost:3000
gohttps://myapp.herokuapp.com/auth/facebook/callback
Oczywiście zaktualizuję adresy URL w Ustawieniach / Podstawowe i ustawienia / Zaawansowane, a także dodam adres URL polityki prywatności w sekcji podstawowej.
Zakładam, że masz poprawnie skonfigurowane inicjatory / devise.rb, jeśli używasz devise i masz
gem 'omniauth-facebook', '~> 4.0'
zainstalowany odpowiedni klejnot na Facebookugem 'omniauth', '~> 1.6'
i masz niezbędne kolumny w tabeli użytkowników, takie jak uid, obraz i dostawca. Otóż to.źródło
To może komuś pomóc.
Miałem podobny komunikat o błędzie, ale tylko w środowiskach deweloperskich i przejściowych, a nie w środowisku produkcyjnym. Prawidłowe identyfikatory URI przekierowania zostały poprawnie ustawione dla subdomen deweloperskich i pomostowych, a także dla produkcji.
Okazało się, że zapomniałem, że dla tych środowisk używamy testowej aplikacji FB, która jest osobną aplikacją na stronie programisty FB. Musiałem to wybrać i zaktualizować ustawienia.
źródło
Spróbuj dodać http://openstrategynetwork.com/ sigin-facebook do Ustawień klienta OAuth poprawny adres URL przekierowania wraz z własnym adresem URL przekierowania.
źródło
Pomocnik logowania w Twojej witrynie
$ loginUrl = $ helper-> getLoginUrl ('xyz.com/user_by_facebook/', $ uprawnienia);
oraz w panelu aplikacji na Facebooku (w zakładce Produkty: Logowanie do Facebooka )
Prawidłowe identyfikatory URI przekierowania OAuth również powinny być takie same dla xyz.com/user_by_facebook/
jak wspomniano wcześniej podczas wysyłania żądania z sieci
źródło
Mieliśmy ten sam problem, taki koszmar.
Upewnij się, że identyfikatory aplikacji i tajne klucze są poprawne. Jeśli do testowania używasz oddzielnych aplikacji deweloperskich, przejściowych i produkcyjnych, identyfikatory aplikacji i tajne klucze są różne dla każdej aplikacji. To jest często problem.
Upewnij się, że adres URL wywołania zwrotnego jest prawidłowo ustawiony w pliku konfiguracyjnym aplikacji (patrz poniżej). Następnie dodaj to jako ten sam adres URL w ustawieniach „ Facebook Login ”, gdzie jest napisane „ Valid OAuth redirect URIs ”. Powinien wyglądać tak (w zależności od środowiska):
http://localhost/auth/facebook/callback
http://staging.example.com/auth/facebook/callback
http://example.com/auth/facebook/callback
źródło
W moim przypadku integrowałem logowanie Facebooka w samouczku aplikacji Rails. Dodałem http: // localhost: 3000 / adsf do moich prawidłowych identyfikatorów URI przekierowania OAuth, ale aplikacja Rails otworzyłaby adres URL jako http://0.0.0.0:3000 i dlatego spróbowała przekierować do http: //0.0. 0,0: 3000 / asdf . Po dodaniu adresu http://0.0.0.0:3000/asdf do prawidłowych identyfikatorów URI przekierowania OAuth lub przejściu do adresu http: // localhost: 3000 / asdf wszystko działało zgodnie z oczekiwaniami.
źródło
W moim przypadku URI, tak jak zostało to zdefiniowane na FB, było w porządku, ale używałem Spring Security i dodawałem używałem dodawałem; jsessionid = 0B9A5E71DAA32A01A3CD351E6CA1FCDD do mojego URI, więc spowodowało to niedopasowanie.
Aby uniknąć przepisywania adresu URL, dodałem disable-url-rewriting = "true" do konfiguracji Spring Security, w ten sposób:
I to rozwiązało mój problem.
źródło