Próbuję przetestować przyciski OAuth , ale wszystkie (Facebook, Twitter, LinkedIn) wracają z błędami, które wydają się sygnalizować, że nie mogę ich przetestować lub użyć z lokalnego adresu URL.
W jaki sposób ludzie zazwyczaj pracują nad programowaniem z wykorzystaniem OAuth, jeśli wszyscy wydają się wymagać środowisk innych niż deweloperskie i połączeń lokalnych ?
Odpowiedzi:
Aktualizacja październik 2016 : Najłatwiej teraz: użyj lvh.me, który zawsze wskazuje
127.0.0.1
.Poprzednia odpowiedź :
Ponieważ żądanie wywołania zwrotnego jest wysyłane przez przeglądarkę, jako odpowiedź przekierowania HTTP, możesz skonfigurować plik .hosts lub równoważny, aby wskazać domenę, która nie jest
localhost
niż 127.0.0.1.Powiedzieć na przykład zarejestrować następujące zwrotnego z Twitter:
http://www.publicdomain.com/callback/
. Upewnij się, żewww.publicdomain.com
w Twoim pliku hosts wskazuje 127.0.0.1 ORAZ Twitter może przeprowadzić udane wyszukiwanie DNS na www.publicdomain.com, tj. Domena musi istnieć i określone wywołanie zwrotne powinno prawdopodobnie zwrócić komunikat o stanie 200, jeśli zostanie o to poproszony.EDYCJA :
Właśnie przeczytałem następujący artykuł: http://www.tonyamoyal.com/2009/08/17/how-to-quickly-set-up-a-test-for-twitter-oauth-authentication-from-your-local -machine / , do którego był link z tego pytania: Twitter oAuth callbackUrl - rozwój localhost .
Cytując artykuł:
Powinno to być łatwiejsze niż majstrowanie w pliku .hosts.
Zauważ, że teraz (sierpień 2014) bit.ly nie pozwala na przekierowanie linków do localhost; jednak skracacz linków Google działa.
Edycja PS: (listopad '18): narzędzie do skracania linków Google przestało obsługiwać localhost lub 127.0.0.1.
źródło
.me
) w przekierowaniach. W rezultacie lvh.me nie działało. Zamiast tego odnalazłem sukces z lacolhost.com .Lub możesz użyć https://tolocalhost.com/ i skonfigurować, w jaki sposób ma przekierować wywołanie zwrotne do Twojej lokalnej witryny. Możesz podać nazwę hosta (jeśli różni się od hosta lokalnego, tj. Twojaaplikacja.lokalna i numer portu). Tylko do celów programistycznych.
źródło
Możesz także użyć ngrok: https://ngrok.com/ . Używam go cały czas, aby mieć publiczny serwer działający na moim hoście lokalnym. Mam nadzieję że to pomoże.
Inne opcje, które zapewniają nawet bezpłatną własną domenę niestandardową, to serveo.net i https://localtunnel.github.io/www/
źródło
./ngrok http 8080 -host-header="localhost:8080"
a ja korzystałem z publicznego adresu URL.Google nie zezwala na testowanie interfejsu API uwierzytelniania testowego na hoście lokalnym przy użyciu
http://webporject.dev
lub.loc
i .etc oraz krótkiego linku Google, który skrócił również lokalny adres URL (http://webporject.dev
)bit.ly
:). Google akceptuje tylko adresy URL rozpoczynające sięhttp://localhost/
...jeśli chcesz przetestować Google Auth API, wykonaj następujące kroki ...
jeśli używasz,
openserver
przejdź do panelu ustawień i kliknijaliases tab
i kliknij menu rozwijane, a następnie znajdźlocalhost
i wybierz.teraz należy wybrać folder główny lokalnego projektu internetowego, klikając następne menu rozwijane obok pierwszego menu.
i kliknij przycisk o nazwie
add
i zrestartuj opensever.teraz twój projekt lokalny jest dostępny pod tym linkiem,
http://localhost/
możesz również wkleić ten lokalny adres URL do google auth api doredirect url
pola ...źródło
Możesz edytować plik hosts w systemie Windows lub Linux Windows: C: \ Windows \ System32 \ Drivers \ etc \ hosts Linux: / etc / hosts
po zakończeniu testów wystarczy skomentować dodaną linię, aby ją wyłączyć
źródło
W przypadku użytkowników komputerów Mac edytuj
/etc/hosts
plik. Musisz użyć,sudo vi /etc/hosts
jeśli jest tylko do odczytu. Po autoryzacji serwer OAuth wysyła adres URL wywołania zwrotnego, a ponieważ ten adres URL wywołania zwrotnego jest renderowany w Twojej przeglądarce lokalnej, lokalne ustawienie DNS będzie działać:źródło
Biorąc Google OAuth jako odniesienie
Na karcie klienta OAuth
(http://localhost:3000)
do autoryzowanych identyfikatorów URI źródeł JavaScriptNa ekranie akceptacji OAuth
mywebsite.com
do autoryzowanych domenEdytuj plik hosts w systemie Windows lub Linux,
Windows C:\Windows\System32\Drivers\etc\hosts
Linux : /etc/hosts
aby dodać127.0.0.1 mywebsite.com
(Uwaga: skomentuj dowolny, jeśli jest inny 127.0.0.1)źródło