2013-08-28 5 views
13

Ich versuche, die Codeigniter Funke (http://getsparks.org/packages/oauth2/versions/HEAD/show) zu verwenden, um Benutzern zu ermöglichen, mit fb und Google auf meine PHP-Website einzuloggen.Google OAuth2 arbeiten nicht auf die lokale Entwicklung Server - PHP Codeigniter Funke

Meine lokale Entwickler-Website (auf wampserver) mysite.dev genannt wird, für die ich ein etc/hosts-Datei wie:

127.0.0.1  mysite.dev 

Facebook-Login absolut einwandfrei funktioniert. Aber wenn ich mit Google versuchen anmelden, Google klagt: Falscher Parameterwert für redirect_uri: Nicht-öffentliche Bereiche nicht erlaubt: http://mysite.dev/index.php/oauth2/session/google wo oauth2 mein Controller und Session ist die Funktion, wo ich fb/google angeben, etc

jeden Hinweise/Hinweise?

+0

hat ein ähnliches Problem auch hier jede gute Abhilfe, wie ich kann nicht Verwenden Sie localhost, aber benötigen Sie einen benutzerdefinierten Domänennamen wie: project.company. Ich würde lieber nicht alle Entwickler Hostnamen ändern, um project.company.com –

+0

Mögliche Duplikat von [Oauth - Wie mit lokalen URLs testen?] (Http://StackOverflow.com/Questions/10456174/oauth-how-to- Test-mit-local-Urls) – scipilot

Antwort

6

Wenn Sie die Client-ID für Webanwendungen in der Google APIs-Konsole erstellen, können Sie die zulässige Redirect URIs hinzufügen. Es akzeptiert localhost URLs und andere auch.

+24

Google akzeptiert localhost, aber keine benutzerdefinierten Domain-example.somecustomtopleveldomain welche ist eine Art Scham, weil, wenn Sie mehrere Web-Projekte haben Sie in der Regel benutzerdefinierten Domain-Namen wie project1.something zuweisen, die tut nicht arbeiten. –

4

Die Google API-Konsole lässt "mysite.dev" nicht zu.

4

Ich habe um diesen durch einen Host-Datei Eintrag für die Domain mit dem dev Teil an der Front hinzufügen, anstatt das Ende (was ich auch in der Regel tun):

/etc/hosts

127.0.0.1 localhost.mydomain.com 

/etc/apache vhost

ServerName mydomain.com.localhost 
ServerAlias localhost.mydomain.com 

Dann google sagen zu verwenden:

http://localhost.mydomain.com/index.php/oauth2/session/google 
+0

Große Workaround, danke! –

0

Hinzufügen von

127.0.0.1 localhost.mydomain.com 

meine hosts Datei und

http://localhost.mydomain.com/oauth2callback 

„Autorisierter URIs umleiten“, um für mich gearbeitet