2012-02-07 2 views
2

Сценарий: Я создал приложение для Facebook, которое требует авторизации. Приложение установлено на странице Facebook. Когда неавторизованный пользователь обращается к приложению перенаправить к диалогу OAuth:Приложение для страницы в Facebook - пользователь запрещает доступ к диалогу OAuth - как я могу захватить ошибку?

http://www.facebook.com/dialog/oauth?client_id=appid&redirect_uri=http://www.facebook.com/pages/page имя/PageId ск = app_appid & Объем = user_birthday, USER_LOCATION & дисплей = страница

Обратите внимание на «redirect_uri» является применение на установленную страницу Facebook. Итак, если пользователь разрешает перенаправление на приложение вкладки - это работает отлично!

Но, если пользователь отказывает в доступе (кнопка «Отмена» - с помощью нового диалогового окна OAuth). Пользователь снова перенаправляется на приложение табуляции и снова перенаправляется в диалоговое окно OAuth.

Я заметил из документации, что, когда пользователь запрещает доступ к браузеру будет перенаправлять на «redirect_uri» со следующими параметрами: ошибка = ACCESS_DENIED & error_description = Пользователь + + + запрещен Ваш запрос +.

Но если Facebook использует дополнительную переадресацию к моему заявлению от «redirectt_uri»: http://www.facebook.com/pages/page имени/PageId ск = app_appid

... ответ ошибки, кажется, заблудился?. Примечание. Я могу успешно зафиксировать параметры ошибки при настройке «redirect_uri» на URL-адрес холста, но мне нужно, чтобы redirect_uri отформатировался, чтобы открыть приложение в контексте установленной страницы, если пользователь разрешает доступ.

Как бы зафиксировать параметры ошибки в этом сценарии?

ответ

0

Я решил это, добавив флаг в параметр app_data для redirect_uri. Когда пользователь сначала обращается к приложению, устанавливается этот флаг. Я проверяю токен OAuth, если он не существует, я перенаправляю в диалог OAuth с помощью redirect_uri к приложению, установленному на странице вентилятора. Теперь redirect_uri включает флаг в параметре app_data. Итак, после «Отмена» приложения Facebook переадресовывает установленное приложение на странице Fan - я затем проверяю флаг и перенаправляю на страницу с ошибкой.