IE和facebook oauth问题

时间:2011-05-12 19:19:39

标签: internet-explorer facebook-graph-api

我正在使用facebook javascript SDK进行facebook登录。它适用于除IE之外的所有浏览器。当facebook弹出窗口打开要求接受权限时,一旦单击“接受”,它将在该弹出窗口中重新加载该网站,并且不执行任何操作。我不认为FB事件有效:

 FB.Event.subscribe('auth.login', function (response) {
    login();
});

我尝试添加频道html,如Facebook页面中所记录的那样,但是这两种情况都不起作用......我也试图只询问1个权限,但它仍然重新加载那个页面..所以IE的错误是怎么回事使它工作?再次,所有其他浏览器都没有问题。所有IE版本都已经破解了。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。所有其他浏览器都正确地重定向到Facebook以完成身份验证,但IE只是不断询问原始服务器,直到服务器挂起。

我使用tcpdump捕获了整个内容,这是一个示例:

GET /fork HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*
Accept-Language: en-us
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C)
Accept-Encoding: gzip, deflate
Host: fbar.toolsteam.com
Connection: Keep-Alive
Cookie: PHPSESSID=7f32d7e4acd63696bd8d0998913f608c; PHPSESSID=3260d25a1730179c9c09914e22e330d7

HTTP/1.0 302 Moved Temporarily
Date: Mon, 07 May 2012 07:02:41 GMT
Server: Apache
X-Powered-By: PHP/5.3.10
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=334f8739ecfdc934ce36186b9dea4b11; expires=Tue, 07-May-2013 07:02:41 GMT; path=/
Location: https://www.facebook.com/dialog/oauth?client_id=336243633108439&redirect_uri=http%3A%2F%2Ffbar.toolsteam.com%2Ffork&state=3adc47d3453b34b4d50ad2d2651d9bd1&scope=publish_stream%2Coffline_access%2Cemail%2Cuser_groups%2Cpublish_actions
Content-Length: 0
Content-Type: text/html
Connection: keep-alive

它只是通过这个确切的请求并重定向,直到浏览器放弃。

我肯定想找到解决方案。