【问题标题】:Google OAuth2 not working on local development server - PHP Codeigniter sparkGoogle OAuth2 在本地开发服务器上不起作用 - PHP Codeigniter spark
【发布时间】:2013-09-01 04:28:51
【问题描述】:

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

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

127.0.0.1       mysite.dev

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

任何线索/提示?

【问题讨论】:

  • 这里也有类似的问题,任何好的解决方法,因为我不能使用本地主机,而是需要一个自定义域名,例如:project.company。我宁愿不要将所有开发人员的主机名更改为 project.company.com

标签: php codeigniter oauth-2.0 google-login


【解决方案1】:

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

【讨论】:

  • Google 接受 localhost,但不接受像 example.somecustomtopleveldomain 这样的自定义域,这有点可惜,因为如果您有多个 Web 项目,您通常会分配自定义域名,例如 project1.something 不起作用。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    /etc/hosts

    127.0.0.1 localhost.mydomain.com
    

    /etc/apache 虚拟主机

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

    然后告诉谷歌使用:

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

    【讨论】:

      【解决方案4】:

      添加

      127.0.0.1 localhost.mydomain.com
      

      到我的hosts 文件和

      http://localhost.mydomain.com/oauth2callback
      

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

      【讨论】:

      • 这对我有用。在 Laravel 中,您还需要像 - map: localhost.mydomain.com to: /home/vagrant/your-path-here/mydomain/public 一样将其添加到 Homestead.yaml 文件中,然后配置
      【解决方案5】:

      如果您只想在您的开发网站上运行 OAuth 流程一次,有一个快速的解决方法。

      登录到您的 Google Cloud Console,访问 API 和服务 ▸ 凭据 ▸ OAuth 2.0 客户端 ID ▸ 授权重定向 URI 和具有以下值的新 URI:

      http://localhost/index.php/oauth2/session/google
      

      然后使用 localhost 而不是 mysite.dev 作为域导航到您的开发站点。在 localhost 上完成 OAuth 过程。 Google 现在应该接受您的返回 URI。成功授权后,您可以返回使用 mysite.dev。

      【讨论】:

        猜你喜欢
        • 2016-05-09
        • 2017-06-09
        • 1970-01-01
        • 1970-01-01
        • 2012-12-12
        • 1970-01-01
        • 2015-02-17
        • 1970-01-01
        • 2016-12-16
        相关资源
        最近更新 更多