Wichtiger Hinweis:
Wenn Sie sich zum Testen registrieren, gehen Sie zu Ihren Profileinstellungen und zu Ihren interest add delete profile.
Versuch, sich mit Facebook auf meiner Website anzumelden :
Ich erhalte folgende Fehlermeldung:
URL blockiert: Diese Umleitung ist fehlgeschlagen, da der Umleitungs-URI nicht .__ lautet. in den Client-OAuth-Einstellungen der App angezeigt. Stellen Sie sicher, dass Client und Web OAuth Login ist aktiviert und fügt alle Ihre App-Domains als Valid OAuth .__ hinzu. Umleiten von URIs.
Meine settings
(Grundlagen) in Facebook sind:
website
: http://openstrategynetwork.com/Auf der Registerkarte "Erweitert" ist für Valid OAuth redirect URIs
Folgendes festgelegt:
http://openstrategynetwork.com/_oauth/facebook?close
App ist public
.
Weitere Einstellungen (Advanced) hier:
App-Schlüssel und Geheimnis sind korrekt. Ich verwende Meteor und seine Kontopakete.
Das Login mit dem Facebook-Button auf Ihrer Website ist verlinkt zu:
https://www.facebook.com/v2.2/dialog/oauth?client_id=1500708243571026&redirect_uri=http://openstrategynetwork.com/_oauth/facebook&display=popup&scope=email&state=eyJsb2dpblN0eWxlIjoicG9wdXAiLCJjcmVkZW50aWFsVG9rZW4iOiIwSXhEU05XamJjU0VaQWdqcmF6SXdOUWRuRFozXzc0X19lbVhGWUJTZGNYIiwiaXNDb3Jkb3ZhIjpmYWxzZX0=
Hinweis: redirect_uri=http://openstrategynetwork.com/_oauth/facebook
Wenn Sie stattdessen den Link ändern in:
redirect_uri=http://openstrategynetwork.com/_oauth/facebook?close
Es sollte funktionieren. Oder Sie können den Facebook-Link in http://openstrategynetwork.com/_oauth/facebook
ändern.
Sie können den gültigen Umleitungs-URIs auch http://localhost/_oauth/facebook
hinzufügen.
Facebook verlangt, dass Sie Whitelist-URIs umleiten, da sich die Benutzer sonst für Ihren Service bei Facebook anmelden und dann ihr Zugriffstoken an den Server eines Angreifers senden können! Und du willst nicht, dass das passiert;]
Wie schreibt der Fragesteller
Gültige OAuth-Weiterleitungs-URIs werden auf der Registerkarte "Erweitert" auf Folgendes festgelegt: ...
und ich hatte das gleiche Problem (Schreiben der Weiterleitungs-URL in das falsche Eingabefeld) Ich möchte das hervorheben
Es ist nicht
Settings -> Advanced -> Share Redirect Whitelist
aber
Facebook Login -> Settings -> Valid OAuth redirect URIs
Es hätte mir 2 Stunden Versuch und Irrtum erspart.
Das hat bei mir funktioniert.
redierct_url = http://127.0.0.1:8080/accounts/facebook/login/callback/
Ich habe dies von meinem Browser erhalten, nachdem Sie auf die Facebook-Schaltfläche geklickt haben. Ihr Browser wird zu einem Link zur Integration mit der Facebook-API weitergeleitet, sodass Sie diese Weiterleitung erhalten. Für meinen Fall war der Link hierher, von wo aus ich den Redirect_url bekam.
Stellen Sie sicher, dass "App Domain" und Facebook Login => Gültige OAuth-Weiterleitungs-URIs. Dort müssen Sie www oder ohne www überprüfen. Es ist besser, wenn Sie mit www oder ohne alle URLs in php, html, css-Dateien und Fb-App-Einstellungen verwenden.
Wenn Sie das Ende der URLs "/" verwenden, müssen Sie diese URL den App-Einstellungen von Valid OAuth-Weiterleitungs-URIs ..__ hinzufügen. Beispiel: - https://www.example.com /index.php/ Wenn Sie diese URL in der Weiterleitungs-URL verwenden, müssen Sie die App-Einstellungen festlegen.
Hoffe das wäre hilfreich.
Für meine Knotenanwendung
"facebook": {
"clientID" : "##############",
"clientSecret": "####################",
"callbackURL": "/auth/facebook/callback/"
}
put callback Url relativ
Mein OAuth leitet URIs wie folgt um
Vergewissern Sie sich, dass "/" at das Ende der Facebook-Authentifizierungs-Umleitungs-URI ist
Diese Setups haben für mich funktioniert.
Das Ändern von hauth.done = Facebook in hauth_done = Facebook in den gültigen OAuth-Weiterleitungs-URIs hat es für mich behoben.
Ok Zuallererst ist dies eine sehr klare Fehlermeldung. Sieh dir das an, viele Entwickler vermissen das, einschließlich meines Selbst. Schauen Sie sich bitte den Screenshot hier an.
oder gehen Sie einfach zu dieser URL hier (Ersetzen Sie YOUR_APP_ID durch Ihre App-ID lol):
https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/
Wenn Sie an localhost:3000
arbeiten, stellen Sie sicher, dass Sie https://localhost:3000/auth/facebook/callback
haben.
Natürlich müssen Sie den Status nicht live haben (grüner Schalter in der oberen rechten Ecke), aber in meinem Fall werde ich jetzt zu Heroku wechseln und localhost:3000
bald durch https://myapp.herokuapp.com/auth/facebook/callback
ersetzen.
Natürlich aktualisiere ich die URLs in den Einstellungen/Grundeinstellungen & Einstellungen/Erweitert und füge im Abschnitt "Grundeinstellungen" eine URL für Datenschutzrichtlinien hinzu.
Ich gehe davon aus, dass Sie initializers/devise.rb richtig konfiguriert haben, wenn Sie devise verwenden und das richtige facebook gem 'omniauth-facebook', '~> 4.0'
gem installiert und gem 'omniauth', '~> 1.6'
haben und Sie die erforderlichen Spalten in Ihrer Benutzertabelle haben, wie z UID, Image und Provider. Das ist es.
Wir hatten das gleiche Problem, so ein Albtraum.
Stellen Sie sicher, dass Ihre App-IDs und die geheimen Schlüssel korrekt sind. Wenn Sie zum Testen separate Entwicklungs-, Staging- und Produktions-Apps verwenden, unterscheiden sich die App-IDs und die geheimen Schlüssel für jede App. Das ist oft das Problem.
Stellen Sie sicher, dass die Callback-URL in Ihrer App-Konfigurationsdatei richtig eingestellt ist (siehe unten). Fügen Sie dann diese URL unter " Facebook Login " dort ein, wo " Gültige OAuth-Weiterleitungs-URIs " angegeben ist. Es sollte so aussehen (abhängig von Ihrer Umgebung):
http://localhost/auth/facebook/callback
http://staging.example.com/auth/facebook/callback
http://example.com/auth/facebook/callback
Login-Helfer Ihrer Site
$ loginUrl = $ helper-> getLoginUrl ('xyz.com/user_by_facebook/', $ Berechtigungen);
und im Facebook-Anwendungs-Dashboard (Unter Produkte-Registerkarte: Facebook Login )
Gültige OAuth-Weiterleitungs-URIs sollte auch mit xyz.com/user_by_facebook/ identisch sein.
wie bereits erwähnt, während Sie eine Anfrage aus dem Web stellen
In meinem Fall habe ich das Facebook-Login in ein Tutorial der Rails-App integriert. Ich hatte http: // localhost: 3000/adsf zu meinen URIs für gültige OAuth-Weiterleitungen hinzugefügt, aber die Rails-App öffnet die URL als http://0.0.0.0:3000 und würde dies daher versuchen Weiterleitung nach http://0.0.0.0:3000/asdf . Nachdem Sie http://0.0.0.0:3000/asdf zu den gültigen OAuth-Weiterleitungs-URIs hinzugefügt oder zu http: // localhost: 3000/asdf navigiert haben, funktionierte es wie erwartet.
In meinem Fall war die in FB definierte URI in Ordnung, aber ich habe Spring Security verwendet und ; jsessionid = 0B9A5E71DAA32A01A3CD351E6CA1FCDD zu meiner URI hinzugefügt.
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
Um das Umschreiben der URL zu vermeiden, habe ich disable-url-rewriting = "true" in Spring Security config folgendermaßen hinzugefügt:
<http auto-config="true" access-denied-page="/security/accessDenied" use-expressions="true"
disable-url-rewriting="true" entry-point-ref="authenticationEntryPoint"/>
Und es hat mein Problem behoben.
Fügen Sie http://openstrategynetwork.com/sigin-facebook den gültigen Umleitungs-URLs der Client-OAuth-Einstellungen zusammen mit Ihrer eigenen Weiterleitungs-URL hinzu.