Ich versuche, OAuth- Schaltflächen zu testen , aber alle (Facebook, Twitter, LinkedIn) weisen Fehler auf, die darauf hinweisen, dass ich sie nicht über eine lokale URL testen oder verwenden kann .
Wie gehen die Menschen in der Regel Arbeit in der Entwicklung mit OAuth Sachen , wenn sie alle ein erfordern scheinen nicht-Entwickler und nicht-lokale Verbindungen Umgebungen?
Antworten:
Update Oktober 2016 : Am einfachsten jetzt: Verwenden Sie lvh.me, das immer darauf verweist
127.0.0.1
.Vorherige Antwort :
Da die Rückrufanforderung vom Browser als HTTP-Umleitungsantwort ausgegeben wird, können Sie Ihre .hosts-Datei oder eine gleichwertige Datei so einrichten, dass sie auf eine Domäne verweist, die nicht
localhost
127.0.0.1 lautet .Angenommen, Sie registrieren den folgenden Rückruf bei Twitter :
http://www.publicdomain.com/callback/
.www.publicdomain.com
Stellen Sie sicher, dass in Ihrer Hosts-Datei auf 127.0.0.1 verwiesen wird und dass Twitter eine erfolgreiche DNS-Suche auf www.publicdomain.com durchführen kann, dh die Domain muss vorhanden sein und der spezifische Rückruf sollte auf Anfrage wahrscheinlich eine 200-Statusmeldung zurückgeben.EDIT :
Ich habe gerade den folgenden Artikel gelesen: http://www.tonyamoyal.com/2009/08/17/how-to-quickly-set-up-a-test-for-twitter-oauth-authentication-from-your-local -machine / , auf die aus dieser Frage verwiesen wurde : Twitter oAuth callbackUrl - localhost development .
Um den Artikel zu zitieren:
Dies sollte einfacher sein, als in der .hosts-Datei herumzuspielen.
Beachten Sie, dass bit.ly jetzt (14. August) die Weiterleitung von Links an localhost nicht zulässt. Google Link Shortener funktioniert jedoch.
PS-Bearbeitung: (18. November): Der Google Link Shortener bietet keine Unterstützung für localhost oder 127.0.0.1 mehr.
quelle
.me
) in Weiterleitungs-URLs zuzulassen . Infolgedessen funktionierte lvh.me nicht. Ich habe stattdessen Erfolg mit lacolhost.com gefunden .Oder Sie können https://tolocalhost.com/ verwenden und konfigurieren, wie ein Rückruf an Ihre lokale Site umgeleitet werden soll. Sie können den Hostnamen angeben (falls dieser von localhost abweicht, dh yourapp.local und die Portnummer). Nur zu Entwicklungszwecken.
quelle
Sie können auch ngrok verwenden: https://ngrok.com/ . Ich benutze es die ganze Zeit, um einen öffentlichen Server auf meinem lokalen Host laufen zu lassen. Hoffe das hilft.
Weitere Optionen, die sogar kostenlos Ihre eigene benutzerdefinierte Domain bereitstellen, sind serveo.net und https://localtunnel.github.io/www/.
quelle
./ngrok http 8080 -host-header="localhost:8080"
Ich habe gerade mein Konto erstellt, es installiert und ausgeführt und es wurde mit einer öffentlichen URL ausgeführt.Google erlaubt keine Testauthentifizierungs- API auf localhost mit
http://webporject.dev
oder.loc
und .etc und einem Google-Kurzlink, der auch Ihre lokale URL (http://webporject.dev
) verkürzt hatbit.ly
:). Google akzeptiert nur URLs, die beginnenhttp://localhost/
...Wenn Sie Google Auth API testen möchten, sollten Sie diese Schritte ausführen ...
Wenn Sie verwenden,
openserver
gehen Sie zum Einstellungsfeld und klicken Sie aufaliases tab
und klicken Sie auf Dropdown, dann suchen Sie eslocalhost
und wählen Sie es aus.Jetzt sollten Sie Ihren lokalen Webprojekt-Stammordner auswählen, indem Sie auf die nächste Dropdown-Liste neben der ersten Dropdown-Liste klicken.
und klicken Sie auf eine Schaltfläche namens
add
und starten Sie opensever neu.Jetzt ist Ihr lokales Projekt über diesen Link verfügbar.
http://localhost/
Sie können diese lokale URL auch in die Google Auth-API einfügen, um dasredirect url
Feld zu ...quelle
Sie können die Hosts-Datei unter Windows oder Linux Windows bearbeiten: C: \ Windows \ System32 \ Drivers \ etc \ hosts Linux: / etc / hosts
Nachdem Sie Ihre Tests beendet haben, kommentieren Sie einfach die Zeile, die Sie hinzufügen, um sie zu deaktivieren
quelle
Bearbeiten Sie die
/etc/hosts
Datei für Mac-Benutzer . Sie müssen verwenden,sudo vi /etc/hosts
wenn es schreibgeschützt ist. Nach der Autorisierung sendet der oauth-Server die Rückruf-URL. Da diese Rückruf-URL in Ihrem lokalen Browser gerendert wird, funktioniert die lokale DNS-Einstellung:quelle
Nehmen Sie Google OAuth als Referenz
In Ihrer OAuth-Client- Registerkarte
(http://localhost:3000)
zu autorisierten JavaScript-Ursprungs- URIs hinzuIn Ihrem OAuth-Zustimmungsbildschirm
mywebsite.com
zu autorisierten DomainsBearbeiten Sie die Hosts-Datei unter Windows oder Linux,
Windows C:\Windows\System32\Drivers\etc\hosts
Linux : /etc/hosts
um sie hinzuzufügen127.0.0.1 mywebsite.com
(Hinweis: Kommentieren Sie alle aus, wenn andere 127.0.0.1 vorhanden sind.)quelle