Ошибка перенаправления авторизации Facebook Oauth в Internet Explorer для расширенных разрешений

Я использую facebook oauth с веб-аутентификацией и расширенными разрешениями

Мой результирующий URL-адрес авторизации выглядит как

https://graph.facebook.com/oauth/authorize?client_id= { myAppId} & redirect_uri = {my_redirect_uri} & scope = 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.

Я вижу, что facebook по какой-то причине перенаправляет этот запрос на страницу login.php, если у меня более 6 разрешений в параметре области. Он не будет перенаправлять в IE

Кто-нибудь видит эту проблему?


person sambu    schedule 18.08.2010    source источник


Ответы (1)


Думаю, я испытываю то же самое!

Кто-нибудь знает, как это решить?

Кажется, мой код работает в Firefox, Chrome и Safari, но не в IE (протестирован в бета-версии IE9, не уверен в других версиях IE).

Возможно, этот список завивок слишком длинный:

{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. 

Я не знаю, почему это работает.

person Ryan    schedule 08.11.2010
comment
проверьте длину url-адреса во время перенаправления. IE имеет ограничение на URL-адрес в 2К символов. Facebook перенаправляет запрос и добавляет к URL-адресу, поэтому длина URL-адреса зависит от количества разрешений. - person sambu; 09.11.2010