Я пытаюсь перенаправить своих пользователей на страницу «Запрос на разрешение» в Facebook, перенаправив их на
https://graph.facebook.com/oauth/authorize?client_id={client_id}&redirect_uri={redirect_uri}&scope={permission_scope}
Когда я набираю URL-адрес непосредственно в браузере, он приходит кправая страница: появляется диалоговое окно с вопросом, согласен ли пользователь дать разрешение на мое приложение.
Но когда я отправляю запрос на перенаправление сервером:
response.sendRedirect("https://graph.facebook.com/oauth/authorize?client_id={client_id}&redirect_uri={redirect_uri}&scope={permission_scope}");
Он отправляет пользователя встраница с большим логотипом Facebook .Если пользователь щелкнет по логотипу, он будет отображать страницу авторизации в обычном режиме.
Интересно, если я пропущу одну или две вещи в своем ответе, что отличает результат от ввода текста непосредственно в браузере.У кого-нибудь есть такая же проблема?
Это потому, что у вас не может быть приложения iFrame (на apps.facebook.com), содержащего страницу из домена Facebook.
Вам необходимо использовать JavaScript для перенаправления:
response.getWriter().println( "<script>" + "top.location.href = \"https://graph.facebook.com/oauth/authorize?client_id={client_id}&redirect_uri={redirect_uri}&scope={permission_scope}\"" + "</script>" );