Ok, nie jestem pewien, o co chodzi z tymi odpowiedziami, ale dam ci znać, co zadziałało, zgodnie z zaleceniami mojego starszego programisty. Pracuję w Ruby on Rails i używam kodu JavaScript Facebooka, aby uzyskać tokeny dostępu.
Problem: Aby przeprowadzić uwierzytelnianie, Facebook pobiera adres URL z paska adresu i porównuje go z tym, co ma w pliku. Nie pozwalają ci używać localhost:3000
z jakiegokolwiek powodu. Możesz jednak użyć całkowicie wymyślonej nazwy domeny, na przykład yoursite.dev
uruchamiając lokalny serwer i wskazując yoursite.dev
na 127.0.0.1:3000
lub gdziekolwiek wskazywał twój lokalny host.
Krok 1 : Zainstaluj lub zaktualizuj Nginx
$ brew install nginx
(zainstaluj) lub $ brew upgrade nginx
(zaktualizuj)
Krok 2 : Otwórz plik konfiguracyjny nginx
/usr/local/etc/nginx/nginx.conf
(zwykle tutaj)
/opt/boxen/config/nginx/nginx.conf
(jeśli używasz Boxen)
Krok 3 Dodaj ten fragment kodu do swojego http {}
bloku
Zamień na proxy_pass
gdziekolwiek chcesz wskazać yoursite.dev
. W moim przypadku była to zamiana localhost: 3000 lub odpowiednik127.0.0.1:3000
server {
listen yoursite.dev:80;
server_name yoursite.dev;
location / {
proxy_pass http://127.0.0.1:3000;
}
}
Krok 4 : Edytuj plik hosts /etc/hosts
na komputerze Mac, aby dołączyć
127.0.0.1 yoursite.dev
Ten plik kieruje domeny do localhost. Nginx nasłuchuje na hoście lokalnym i przekierowuje, jeśli pasuje do reguły.
Krok 5 : Za każdym razem, gdy korzystasz ze środowiska deweloperskiego, używasz yoursite.dev
w pasku adresu zamiast, localhost:3000
aby Facebook logował Cię poprawnie.