Ok, ich bin mir nicht sicher, was mit diesen Antworten los ist, aber ich werde Sie wissen lassen, was für mich funktioniert hat, wie von einem erfahrenen Entwickler bei meiner Arbeit empfohlen. Ich arbeite in Ruby on Rails und verwende den JavaScript-Code von Facebook, um Zugriffstoken zu erhalten.
Problem: Um eine Authentifizierung durchzuführen, nimmt Facebook die URL aus Ihrer Adressleiste und vergleicht sie mit der Datei, die sie gespeichert haben. Sie erlauben Ihnen nicht, aus localhost:3000
irgendeinem Grund zu verwenden. Sie können jedoch ein fertig konfektioniertes Domain - Namen wie verwenden yoursite.dev
durch einen lokalen Server ausgeführt wird und zeigt yoursite.dev
auf 127.0.0.1:3000
oder wo auch immer Ihr localhost deutete auf.
Schritt 1 : Installieren oder aktualisieren Sie Nginx
$ brew install nginx
(installieren) oder $ brew upgrade nginx
(aktualisieren)
Schritt 2 : Öffnen Sie Ihre Nginx-Konfigurationsdatei
/usr/local/etc/nginx/nginx.conf
(normalerweise hier)
/opt/boxen/config/nginx/nginx.conf
(wenn Sie Boxen verwenden)
Schritt 3 Fügen Sie diesen Code in Ihren http {}
Block ein
Ersetzen Sie proxy_pass
durch, wo immer Sie zeigen möchten yoursite.dev
. In meinem Fall ersetzte es localhost: 3000 oder das Äquivalent127.0.0.1:3000
server {
listen yoursite.dev:80;
server_name yoursite.dev;
location / {
proxy_pass http://127.0.0.1:3000;
}
}
Schritt 4 : Bearbeiten Sie Ihre Hosts-Datei /etc/hosts
auf dem Mac, um sie einzuschließen
127.0.0.1 yoursite.dev
Diese Datei leitet Domains an localhost weiter. Nginx hört auf localhost und leitet um, wenn es einer Regel entspricht.
Schritt 5 : Jedes Mal, wenn Sie Ihre Entwicklungsumgebung in Zukunft verwenden, verwenden Sie die yoursite.dev
in der Adressleiste, anstatt localhost:3000
dass Facebook Sie korrekt anmeldet.