Google OAuth2无法在本地开发服务器上运行 - PHP Codeigniter spark

SIn*_*dhu 24 php codeigniter google-login oauth-2.0

我正在尝试使用Codeigniter spark(http://getsparks.org/packages/oauth2/versions/HEAD/show)允许用户使用fb和google登录我的php网站.

我的本地开发站点(在wampserver上)被称为mysite.dev,我有一个etc/hosts文件,如:

127.0.0.1       mysite.dev
Run Code Online (Sandbox Code Playgroud)

Facebook登录工作绝对正常.但是当我尝试使用谷歌登录时,谷歌抱怨:redirect_uri的参数值无效:不允许使用非公共域:http://mysite.dev/index.php/oauth2/session/google 其中oauth2是我的控制器,会话是功能,我指定fb /谷歌等

任何线索/提示?

sci*_*lot 14

我通过添加域的主机文件记录来解决这个问题,其中dev部分位于前端而不是末端(我通常也会这样做):

/ etc/hosts文件

127.0.0.1 localhost.mydomain.com
Run Code Online (Sandbox Code Playgroud)

/ etc/apache vhost

ServerName mydomain.com.localhost
ServerAlias localhost.mydomain.com
Run Code Online (Sandbox Code Playgroud)

然后告诉谷歌使用:

http://localhost.mydomain.com/index.php/oauth2/session/google
Run Code Online (Sandbox Code Playgroud)


Nav*_*eed 7

在Google API控制台中为Web应用程序创建客户端ID时,您可以添加允许的ID Redirect URIs.它也接受localhost网址和其他网址.

  • Google接受localhost,但不接受自定义域名,例如example.somecustomtopleveldomain这有点遗憾,因为如果您有多个Web项目,通常会分配自定义域名,例如project1.something无效. (38认同)

emp*_*lls 5

Google API 控制台不允许使用“mysite.dev”。


Gün*_*uer 5

添加

127.0.0.1 localhost.mydomain.com
Run Code Online (Sandbox Code Playgroud)

到我的hosts文件和

http://localhost.mydomain.com/oauth2callback
Run Code Online (Sandbox Code Playgroud)

“授权的重定向 URI”对我有用