我正在使用facebook oauth进行网络身份验证和扩展权限
我生成的授权网址最终会像
一样https://graph.facebook.com/oauth/authorize?client_id= {myAppId}&安培; REDIRECT_URI = {my_redirect_uri}&安培;范围= offline_access,read_stream,friends_activities,user_activities,user_photos,friends_photos,USER_LOCATION,user_about_me,user_activities
这在Mozilla和Chrome中运行良好,但IE无法显示网页。
但是,如果我将扩展权限的数量减少到只有offline_access,read_stream,friends_activities,user_activities,它在IE中也可以正常工作。
如果我在范围参数中拥有超过6个权限,我会看到facebook将上述请求重定向到login.php页面,因为它不会在IE中重定向
有人看到这个问题吗?
答案 0 :(得分:0)
我觉得我正在经历同样的事情!
有谁知道如何解决这个问题?
我的代码似乎适用于Firefox,Chrome和Safari,但不适用于IE(在IE9测试中测试,不确定其他IE版本)。
也许这个perms列表太长了:
{perms:'email,user_birthday,user_education_history,user_work_history,friends_education_history,publish_stream'}
我们能做什么?
更新:我可能找到了解决方法。 IE似乎没有让Facebook从主页面登录。无论出于何种原因,IE8在从根以外的页面登录时起作用。我还没有测试过其他版本的IE。我添加了一些javascript / jquery来检查使用IE的访问者并将这些人弹回到与根页相同的单独登录页面。它似乎工作。测试时,请务必清除浏览器历史记录/ Cookie并关闭并重新启动浏览器。
var ieLogonPage='/logon/' ;
if(($.browser.msie)&&(window.location.pathname=='/')) window.location=ieLogonPage;//IE doesn't seem to let Facebook logon from the main page.
我不知道为什么这似乎有用。