1

所以,我有这个 PHP 应用程序,它使用 FB Connect 来验证它的用户。Chrome 和 Firefox 中的一切看起来都不错,据我所知,它之前在 IE 上确实有效。

现在有几天我无法让它在 IE 中工作了,即使我没有改变任何东西。

这个想法很简单。当用户访问时,http://myapp.com/login我们将他(使用header('location:'.$facebook->getLoginURL());命令)重定向到 FB PHP SDK 提供的 URL,即getLoginURL().

现在,正如我所说,在 Chrome 和 Firefox 中,它看起来和工作正常,并且用户会看到 FB 的登录表单。但在 IE 中,我们得到的只是一条消息,The website cannot display the page它的 HTTP 响应代码设置为 500。

知道那可能是什么吗?

稍后编辑

我们发现在某些计算机上它也可以在 IE 上运行。所以这更让人沮丧。在同一 WiFi 网络上的 Windows 8 上运行 IE10 的 2 台不同计算机有什么不同?

另一个更新

所以我们比较了getLoginURL()在 Chrome 和 IE10 中返回的 URL,它们看起来像这样:

IE10

https://www.facebook.com/dialog/oauth?client_id=1234567890&redirect_uri=http%3A%2F%2Fdev.puzzled.by%2Flogin%2Fpopup&state=80c85248af70ed5b0a1826e4e1662b79

https://www.facebook.com/dialog/oauth?client_id=1234567890&redirect_uri=http%3A%2F%2Fdev.puzzled.by%2Flogin%2Fpopup&state=0172ab20d05eeab382cd5a0f4340fedd

所以它们看起来一样。但是 IE10 只是返回一个 HTTP 500 错误代码。

PS:请记住,实物client_id是不同的。出于安全原因,我们只是在这篇文章中更改了它。

4

1 回答 1

0

我们至少已经“解决”了这个问题......我们不知道我们的用户是否有同样的问题,如果他们有这有点难过,因为我们无法帮助他们:)

我们所做的是从 IE 中删除所有已保存的 cookie,它就这样工作了…… 疯了?

于 2013-04-02T16:21:31.383 回答