HybridAuth在本地网络中工作,但在我的网络外部访问时则不行

时间:2013-08-30 03:53:38

标签: php oauth-2.0 hybridauth

我在我的网络服务器上设置了HybridAuth。我有一个基本的html页面,显示谷歌,Facebook或Twitter的3个登录选项。为了在家用电脑上进行测试,我将config.php文件设置为:

"base_url" => "http://my.local.ip.address/hybridauth-2.1.2/hybridauth/index.php",

到目前为止,通过此设置,选择使用Twitter登录选项确实有效,我可以从用户那里获取一些基本的个人资料信息。但是,Facebook会返回以下消息:

  • 应用程序配置不允许使用URL:应用程序的设置不允许使用一个或多个给定的URL。它必须与网站URL或Canvas URL匹配,或者域必须是App域之一的子域。

尝试使用Google时,会返回以下内容:

- redirect_uri的参数值无效:不允许使用原始IP地址:http://my.local.ip.address/hybridauth-2.1.2/hybridauth/?hauth.done=Google

作为上面的注释,“my.local.ip.address”是我实际的本地IP地址,但我不得不在这里更改它。 但是,当我更改config.php以使其正常使用时:

"base_url" => "http://myFQDN.com/hybridauth-2.1.2/hybridauth/index.php",

然后我接通了我的手机(不在我的本地网络上),它只是重新加载基本html页面,无论我选择什么选项。

任何帮助或建议都会很棒。

注意:端口80被我的ISP阻止,因此,我将它从我的注册器重定向到另一个端口,然后在我的路由器内转发。如果这是可能的问题,请告诉我。 - 此外,当我只是制作一个标准的.html页面时,一切正常。

由于

1 个答案:

答案 0 :(得分:0)

我认为大多数OAuth2提供商都不会接受来自配置的回调网址的答案。因此,使用寄存器进行重定向很可能会失败。

相反,尝试将回调配置为: http://www.yourdomain.com:openPort/hybridauth-2.1.2/hybridauth/index.php

openPort 是您的ISP不会阻止的端口号。 然后在路由器中,您可以进行端口转发 openPort-&gt; 80 ,或者您可以将您的网络服务器启动到 openPort ,并确保路由器没有阻止请求。< / p>