Это указано в другом месте, но чтобы прояснить: причина, по которой ваше приложение выходит из Facebook, заключается в том, что диалоги аутентификации уходят от исходного URL-адреса apps.facebook.com.
Это может произойти только с расширеннымразрешения, поскольку новый экран разрешений состоит из двух страниц вместо одной.
После завершения процесса авторизации браузер перенаправляется на полный URL-адрес приложения на вашем сервере.
«Исправление»это отправить браузер обратно в приложение Facebook, используя его адрес http://apps.facebook.com/appname.
[это не кажется хорошим потоком для большинства людей, но именно так оно и есть сейчас.Я думаю, что может быть другой маршрут, используя «Аутентифицированные рефералы» на странице «Auth Dialog» приложений, но еще не использовал его]
Я использую PHP SDK, и вот что яdo:
- Проверьте параметр запроса "state", когда ваш redirct_url вызывается после авторизации.Некоторые люди предлагали использовать параметр «code», но я не вижу, чтобы он возвращался.
''
// after completing the first authorization, the redirect url may send users away from Facebook to the redirect url itself.
//This php code redirects them back to the app page
if (isset($_GET['state'])){ header("Location: http://apps.facebook.com/appname']); exit; }
Если вы знаете лучший способ, пожалуйста, дайте мнезнаю!