Ich möchte das Google Social-Anmeldesystem auf meinem lokalen Computer testen. Wenn ich jedoch eine neue OAuth-Schaltfläche erstelle: "Neue Client-ID erstellen", muss ich den autorisierten Umleitungs-URI eingeben, der eine gültige Adresse sein muss (endet mit .com oder .org).
Offensichtlich haben wir bei lokaler Entwicklung nicht das .com oder .org am Ende. Ich habe ein virtualhost-Setup ... und meine Adresse für meine lokale Entwicklung lautet mywebsite.local
Gibt es eine Möglichkeit, den Umleitungs-URI als mywebsite.local
einzugeben, ohne den Fehler zu erhalten:
Ungültige Weiterleitung: http: //mywebsite.local/login/auth muss mit einer öffentlichen Top-Level-Domain enden (z. B. .com oder .org)
Sie können "Authorized redirect URI" auf lokale IP-Adresse setzen (z. B. http://127.0.0.1/callback ). Dies funktioniert für mich einwandfrei.
Was mich wirklich quält, ist, dass Google keine externe IP-Adresse (beispielsweise 99.99.99.99) als "Authorized redirect URI" zulässt. Google möchte, dass die "Authorized redirect URI" mit einem öffentlichen Top-Level endet Domäne (wie .com oder .org).
Neben der Antwort von Pinoyyid möchten Sie Folgendes in Ihrer /etc/hosts
-Datei angeben.
0.0.0.0 mywebsite.com
Ich habe nach allen anderen Regeln neue Regeln aufgestellt.
sie können dann unter mywebsite.com auf Ihre Entwicklungswebsite zugreifen und die korrekte Weiterleitungs-URL in die Google Entwicklerkonsole eingeben.
Ordnen Sie Ihre dev-Server-IP-Adresse einfach dev.example.com in/etc/hosts zu.
Der Schlüssel ist die Verwendung einer https
-URL in Ihrer lokalen Umgebung.
Unter OSX können Sie ein lokales https-Zertifikat installieren: https://github.com/FiloSottile/mkcert
Oder verwenden Sie Laravel Valet.
Ihre neue localhost-URL lautet also: https://mywebsite.local
Dann speichern Sie diesen https
Callback bei Google. Funktioniert auf meinem Computer
Sie können Ihren lokalen Host wie hier beschrieben in eine öffentliche Site tunneln .
Meiner Erfahrung nach müssen Sie localhost oder url mit einer öffentlichen Top-Level-Domain verwenden (ich verwende .bar) und alle Weiterleitungs-URLs müssen https sein (falls Sie eine Google-App überprüfen möchten - für Blätter/Laufwerk-API erforderlich).