Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Google oAuth lokalnie
Forum PHP.pl > Forum > PHP
sabat24
Próbuję odpalić autoryzację google na lokalnym serwerze (windows 7, wamp) i utknąłem na autoryzacji domeny dla linku przekierowującego po zalogowaniu (redirect_url). Problemem jest to, że google wymaga weryfikacji właściciela domeny poprzez dodanie rekordu TXT do DNSów. Jako, że nie znam się kompletnie na tych sprawach, nie jestem w stanie tego przejść. Ktoś ma pomysł jak to można zrobić?

Przez "to" rozumiem pomyślne przejście procesu autoryzacji dla swojego konta google, by pobierać dane - nie koniecznie przy edycji DNSów.
by_ikar
Ów redirect_url nie jest sprawdzany w ogóle czy istnieje, można tam wstawić np 127.0.0.1 czy też localhost.
sabat24
W google jest sprawdzany. Nie może to nie być publiczna domena, adres IP ani domena, które nie jest autoryzowana przez google console - taki błąd wyświetla. W każdym razie rozwiązałem to tak, że autoryzowałem jakąś publiczną domenę, a następnie ustawiłem sobie vhosta w systemie, więc google sądzi, że jest to publiczna domena, a ja otrzymuję dane lokalnie.
by_ikar
Średnio osobiście chce mi się w to wierzyć, dlatego że mam w swojej przykładowej aplikacji ustawione 127.0.0.1 oraz inne nie istniejące domeny z suffixem .dev
Na pewno mówimy o tej samej konsoli ? Na facebooku jest to samo, różnica polega jedynie na tym że nie pozwalają na "lokalne" adresy, ale jak się doda w etc/hosts taki adres to przechodzi bez problemu.

EDIT: Dobra, chyba wiem o co chodzi. Masz zapewne domenę, która nie jest "publiczna", tzn ma niepoprawny suffix (nie publiczny). Nie mniej, możesz dodać adresy IP, które mogą być adresami lokalnymi.
Pyton_000
No właśnie, ja w MS jak robiłem integracje do OneDrive to też ustawiłem fake domenę, dodałem do hosts i działało.
Chociaz z Google to nic nie wiadomo.

Ludzie używają domeny lvh.me która wskazuje na 127.0.0.1 smile.gif
sabat24
W tym wszystkim rozchodziło się własciwie o to, co google uważa za adres IP lokalny. Choćby 127.0.0.2 już nim nie jest. Tak samo localhost i inne rzeczy bez sufixu nie przejdą, jak pisałeś wyżej.
To co ja chciałem zrobić, to zweryfikować domenę z redirect_url przez (domainverification), co jak już wiem było niepotrzebne, ale tam właśnie odsyłał mnie komunikat google z API.
by_ikar
Mówię ci że mam localhost, jak i 127.0.0.1 w redirect_url: http://imgur.com/ejymJMd i nie chodzi tutaj o żadną weryfikacje DNS'ów, bo DNS'y konfiguruje się tylko dla domen (Domain Name System). Chodzi o to żeby podawać domeny najwyższego poziomu zgodne z RFC 1123, z tym wyjątkiem że między innymi localhost (oraz example, invalid, test) jest zarezerwowaną domeną zgodnie z RFC 6761 i jest wykluczony w publicznego użycia. Oraz publiczny zakres adresów IP które nie znajdują się w RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 oraz 127.0.0.0/8 którego nie ma w tym RFC). Z tą różnicą że google pozwala na użycie prywatnego adresu jak 127.0.0.1, oraz prywatnej domeny localhost - do developmentu. Możesz ich użyć jako autoryzowane źródło, ale nie jako redirect_url/callback_url.

W przypadku facebooka tylko domeny najwyższego poziomu (z wykluczeniem zarezerwowanych domen RFC 6761) + publiczne adresy IP.
sabat24
Nie wiedziałem, że to działa tak, iż bez względu na lokalny, wirtualny serwer, trzeba w konsoli wpisać wyłącznie http://localhost/{dalszy_ciag_URL}

Czyli jeśli mam następujące wirtualne serwery lokalne, test.com oraz test2.com i chcę, by autoryzacja przebiegła pomyślnię, muszę w konsoli autoryzować je tak: http://localhost/googleAuth

Teraz jako redirect_url mogę podawać zarówno http://test.com/googleAuth jak i http://test2.com/googleAuth

A ja wpisywałem do konsoli nazwy moich wirtualnych serwerów przez co dostawałem zawsze

Cytat
Error: redirect_uri_mismatch

The redirect URI in the request, http://test2.com/googleAuth, does not match the ones authorized for the OAuth client


Mimo, że ta własnie domena była wklejana do konsoli. Zmylił mnie komunikat.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.