В перенаправлении OAuth на Facebook вместо страницы авторизации отображается изображение / ссылка FB - PullRequest
0 голосов
/ 29 октября 2010

У меня есть Perl CGI-скрипт, выполняющий процедуру авторизации Facebook, как описано в http://developers.facebook.com/docs/authentication/. Когда я захожу на страницу приложения Facebook в браузере, мой скрипт получает первоначальный запрос от Facebook, аутентифицирует подписанный_просмотр и затем отправляет перенаправление на следующий URL:

https://graph.facebook.com/oauth/authorize?client_id=NNN&scope=[...]&display=page&redirect_uri=http%3A%2F%2Fmydomain.com%3A8080%2Fperl%2Fdev%2Ffb.pl%3Fcallback%3D1

redirect_uri - это то, что я определил как мой веб-сайт в конфигурации приложения, и оно принимается очень хорошо. Но затем браузер показывает большое изображение логотипа Facebook и ссылку под ним. Обе ссылки:

http://www.facebook.com/connect/uiserver.php?display=page&next=https%3A%2F%2Fgraph.facebook.com%2Foauth%2Fauthorize_success%3Fredirect_uri%3D[...]

Когда я нажимаю на это, я получаю то, что хочу, на странице «Запрос на разрешение», запрашивающей пользователя авторизовать приложение. Оттуда все идет нормально.

Так почему же я получаю начальную страницу логотипа FB вместо того, чтобы переходить непосредственно на страницу авторизации?

1 Ответ

1 голос
/ 22 ноября 2010

Кто-то ответил на это на форуме Facebook (http://forum.developers.facebook.net/viewtopic.php?pid=290957#p290957), иронично со ссылкой на другой вопрос здесь. Вам просто нужно выполнить перенаправление на стороне клиента, используя javascript, поэтому выходные данные вашего CGI-скрипта должны выглядеть как:

Content-Type: text/html
Content-Length: 344

<script>top.location="https://graph.facebook.com/oauth/authorize?client_id=[...]";</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...