Приложение на вкладке «Страница Facebook» - пользователь запрещает доступ в диалоговом окне «OAuth» - как зафиксировать ошибку? - PullRequest
2 голосов
/ 07 февраля 2012

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

http://www.facebook.com/dialog/oauth?client_id=appid&redirect_uri=http://www.facebook.com/pages/page name / pageid? Sk = app_appid & scope = user_birthday, user_location & display = page

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

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

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

Но если Facebook использует дополнительный редирект на мое приложение из "redirectt_uri": http://www.facebook.com/pages/page name / pageid? sk = app_appid

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

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

1 Ответ

0 голосов
/ 11 апреля 2012

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

...