Недавно я столкнулся с подобной проблемой.Чтобы вырвать ваше приложение из iframe и перенаправить на страницу авторизации с перенаправления на стороне сервера в rails, вы можете сделать это:
def facebook_authorization
redirect_url =<<-EOS
<script>
top.location.href='https://graph.facebook.com/oauth/authorize?client_id=client_id&redirect_uri=http://localhost:3000/xxx&scope=publish_stream';
</script>
EOS
render :inline => redirect_url
end
Это почти так же, как описано в документации на Facebookиспользуя php.
Далее, если пользователь авторизует ваше приложение, вы получите токен oauth_access в параметре ответа signature_request.Я не использую Koala, поэтому не уверен, как они анализируют подписанный запрос.
В результате тестирования я обнаружил, что, пока пользователь авторизует ваше приложение, вы будете получать токен oauth_access из Facebook при каждом запросе.,Это позволяет легко определить, авторизовал ли пользователь приложение или нет, и вы избегаете отправлять пользователю страницу авторизации каждый раз, когда он / она посещает ваше приложение.