Я столкнулся со странным поведением при реализации приложения Facebook с использованием метода холста iframe.
Я следую учебному пособию по http://developers.facebook.com/docs/guides/canvas/, которое до сих пор работает очень хорошо.
Страница, на которую я отправляю аутентификацию (как сказано в руководстве):
https://www.facebook.com/dialog/oauth?client_id=138548612888445&redirect_uri=http://localhost:8080/test/facebook/return.jsf
Однако, когда я принимаю приложение и разрешаю ему доступ к моим личным данным, меня перенаправляют прямо на страницу возврата в виде верхнего URL-адреса, который затем выглядит следующим образом:
+--------------------------------------------------+
| My Content |
| http://localhost:8080/test/facebook/return.jsf |
| ?code=...
+--------------------------------------------------+
Однако я не хочу, чтобы мой URL отображался в самом верхнем фрейме, а внутри фрейма facebook по умолчанию:
+-------------------------------------------+
| Facebook header |
+--------------------------+----------------+
| My Content | Facebook right |
| | column |
+--------------------------+----------------+
Странная вещь: это происходит только тогда, когда пользователю необходимо авторизовать приложение в первый раз - после этого, когда я вызываю apps.facebook.com/fooapp
, содержимое отображается правильно внутри iframe.
Что я делаю не так?