2013-05-07 3 views
9

Meine Webanwendung wird in einer Produktionsumgebung bereitgestellt, aber ich muss auch lokale Entwicklung durchführen. Außerdem habe ich ein paar Testserver, wo ich verschiedene Testaktivitäten durchführe. Ich möchte all diese URIs für Facebook OAuth2 angeben. Mit Google OAuth2 gibt es kein Problem: Ich kann so viele Umleitungs-URIs angeben, wie ich brauche.Geben Sie mehrere Weiterleitungs-URIs für Facebook an. OAuth2

Ist dies mit Facebook möglich? Wie? Ich verwende die Option "Website mit Facebook-Login", um sie mit Facebook zu integrieren.

Zur Zeit bin ich immer:

{ 
    error: { 
     message: "Invalid redirect_uri: Given URL is not allowed by the Application configuration.", 
     type: "OAuthException", 
     code: 191 
    } 
} 

Antwort

1

Sie müssen stattdessen unterschiedliche Anwendung für verschiedene Anwendungsfälle wie pro Ihre Anforderung erstellen. Dies ist eine seltsame Einschränkung, mit der Sie sich befassen müssen.

Obwohl unabhängig, aber Heroku (das ist Partner Cloud-Dienstanbieter) Getting Started Guide für Facebook schlägt die gleiche Arbeit für working locally mit der Anwendung zusammen mit der Entwicklung.

+2

Diese Antwort ist wahrscheinlich veraltet, die Antwort von @ben über "Valid OAuth redirect URIs" funktioniert (siehe den ersten Kommentar in dieser Antwort für detailliertere Anweisungen). – neonstalwart

28

Ich bin mir nicht sicher, ob sie das hinzugefügt haben, aber ich habe gerade ein "Valid OAuth redirect URIs" -Feld in den "Advanced" -Einstellungen meiner Facebook-App entdeckt. Ich habe gerade http://localhost drin und es scheint zu erlauben, umleiten zu einem URI auf meinem localhost. Keine doppelten Apps mehr!

+4

Weitere Informationen unter: https://developers.facebook.com/docs/facebook-login/security/ - enthält: "** Geben Sie, wenn möglich, eine Whitelist der OAuth-Weiterleitungs-URLs an. ** Geben Sie eine vollständige Liste von App-URLs an die einzigen gültigen Weiterleitungs-URLs für Ihre App für die Rückgabe von Zugriffstoken und -codes aus dem OAuth-Flow. Diese Einstellung befindet sich im Bereich "Einstellungen"> "Erweitert"> "Sicherheit". Wenn Sie diese Einstellung leer lassen, kann jede URL in den App-Domänen OAuth-Zugriffstoken erhalten. Dadurch ist die App anfällig für Zugriffstoken-Diebstahl, wenn die App-Domain offene Weiterleitungen oder XSS-Schwachstellen aufweist. " –

+2

Ich kann bestätigen, dass dies auch für mich funktioniert. Sie können jetzt die gleiche Facebook-App für Live- und Localhost-URLs verwenden, indem Sie diese neue Einstellung verwenden. –

+1

Ich war auf der Suche nach einem Weg, um die Funktion "Valid OAuth redirect URIs" zu deaktivieren, so dass Facebook mir erlaubt, beliebige Domainnamen zu verwenden, wenn ich die Facebook-Login-Funktion mit der Facebook-App nutze. – Phantom007

Verwandte Themen