Страница Facebook получает полный экран после нажатия iframe

я пытаюсь открыть страницу аутентификации Facebook в IFRAME, который я создал на своей странице, но проблема состоит в том, после того как страница загружается в iframe, и я нажимаю на iframe, страница аутентификации Facebook получает целую страницу в полном экране, и iframe добираются, исчезают.

https://graph.facebook.com/oauth/authorize?client_id=<id>&type=user_agent&redirect_uri=http://localhost:3662/test.web/pages/z.aspx&display=popup

вот мой URL, что я устанавливаю в iframe src атрибут

1
задан Hunt 8 July 2010 в 08:04
поделиться

4 ответа

Я сам столкнулся с этим. Решение, которое я использовал?

Javascript Authentication

И приблизительные шаги

// trigger this any way you want
window.open(
    'https://graph.facebook.com/oauth/authorize?client_id=CLIENT_ID&display=popup&scope=PERM_LIST&redirect_url=http://example.com/oauth_redirect'
  , 'authorize'
  , 'width=600,height=350'
);

Это отображает окно аутентификации во всплывающем окне. Теперь следующий бит: что вы делаете с URL-адресом перенаправления (в моем примере, http://example.com/oauth_redirect )

Параметр access_token в URL-адресе содержит токен OAuth - так что извлеките этот и делайте с ним все, что вам нужно (храните в куки, что угодно). А затем используйте JS для управления тем, что происходит со всплывающим окном и открывателем

<script type="text/javascript">

// Perhaps load the next page?
window.opener.location = 'http://example.com/canvas'

// close the popup
window.close();

</script>

См. Также эту соответствующую ветку форума .

2
ответ дан 2 September 2019 в 23:13
поделиться

Не уверен в этом, но я думаю, что форм-фактор «popup» предназначен для реальных всплывающих окон, вы должны попробовать форм-фактор «page» здесь

0
ответ дан 2 September 2019 в 23:13
поделиться

Это механизм безопасности; у пользователя мало способов определить, является ли ваш IFRAME действительно Facebook, или вы представляете что-то, что выглядит как Facebook. С полным URL в верхней части, это становится гораздо более прозрачным (да, они должны внедрить SSL с действительным сертификатом, чтобы действительно доказать это, но эй).

0
ответ дан 2 September 2019 в 23:13
поделиться

Вход в iframe запрещен по соображениям безопасности. Вместо этого используйте всплывающее окно. Вы можете сделать то, что предложил Питер, с помощью window.open или использовать JS SDK, например: http://fbrell.com/auth/all-in-one .

0
ответ дан 2 September 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: