我已经在我的Web服务器上设置了HybridAuth。我有一个基本的html页面,显示谷歌、脸书或推特的3个登录选项。为了在我的家用电脑上进行测试,我将config.php文件设置为:
"base_url" => "http://my.local.ip.address/hybridauth-2.1.2/hybridauth/index.php",
到目前为止,有了这个设置,选择使用Twitter登录选项确实有效,我可以从用户那里获取一些基本的个人资料信息。然而,Facebook返回以下消息:
- 应用程序配置不允许给定的URL。:应用程序的设置不允许使用一个或多个给定的URL。它必须与网站URL或Canvas URL匹配,或者域必须是应用程序某个域的子域
当尝试谷歌时,它会返回以下信息:
-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页面时,一切都很好。
感谢
我不认为大多数OAuth2提供程序会接受不是来自配置的回调url的答案。因此,使用寄存器进行重定向很可能会失败。
相反,请尝试将回调配置为:http://www.yourdomain.com:openPort/hybridauth-2.1.2/hybridauth/index.php
其中openPort是ISP不会阻止的端口号。然后在路由器中,您可以使端口转发openPort->80,或者您可以启动web服务器到openPort并确保路由器没有阻止请求。