1

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

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

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

  • 应用程序配置不允许给定 URL。:应用程序的设置不允许一个或多个给定 URL。它必须与网站 URL 或画布 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 页面时,一切正常。

谢谢

4

1 回答 1

0

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

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

其中openPort是您的 ISP 不会阻止的端口号。然后在路由器中你可以进行端口转发openPort->80或者你可以启动你的 web 服务器到openPort并确保路由器没有阻塞请求。

于 2013-08-30T04:19:22.113 回答