1

我的主页重定向到下面列出的 URL,以打开与 Facebook 的 oauth 对话以验证用户凭据。

<meta http-equiv="refresh" content="0;URL=http://www.facebook.com/dialog/oauth/?client_id=myclientid&redirect_uri=http://www.mywebsite.com/home/index.php" />

我的 Facebook 应用配置文件中的站点 URL(使用 Facebook 登录的网站)是

http://www.mywebsite.com

一切都适用于 HTTP,但是当我最近实施 SSL 证书时,我很难将所有内容都转换为 HTTPS(在我的重定向 URL 和我的 Facebook 应用程序配置文件中的站点 URL 中将 HTTP 更改为 HTTPS。我收到以下 Facebook 错误:

API错误代码:191 API错误描述:指定的URL不属于应用程序错误消息:无效的redirect_uri:应用程序配置不允许给定的URL。

我一次为此奋斗了几个小时,但从未成功,并且总是将我的应用配置文件中的重定向 URL 和站点 URL 更改回 HTTP。昨晚成功了!我发布了代码并在 IE 和 Chrome 的两台不同的计算机上成功测试了它。今天早上,我醒来时发现了与之前相同的错误代码。

有谁知道为什么我的 Facebook oauth 对话在 HTTPS 方面似乎变化无常?

4

2 回答 2

0

这是一个使用 Facebook 连接的网站的工作示例。在顶部,我添加了一个代码:

  1. 检测用户是否已通过身份验证,如果没有,它将...
  2. 检测是否正在使用 SSL
  3. 如果 SSL 正在使用中,它将检查以确保当前页面(动态获取)包含您在第一个变量中输入的 URL(顶部设置中的“$sslurl”);否则,它将默认返回 $sslurl 并将您访问的任何页面添加到它的末尾。
  4. 然后它将使用正确的 url 授权用户使用
    生成的 SSL url 作为 redirect_uri
  5. 脚本的其余部分只是一个带有 facebook 连接设置的通用网站

放置在代码标签中太长了,所以我把它们放在一个文本文件中:

http://oe.us/ssl-facebook-connect.txt

希望对您有所帮助,祝您好运!

于 2012-09-14T20:03:08.437 回答
0

确保您在应用设置中指定了有效的基域。

于 2012-09-15T02:43:49.187 回答