Ошибка разрешения Oauth2.0 - PullRequest
       18

Ошибка разрешения Oauth2.0

0 голосов
/ 05 ноября 2011

Мое приложение не догнало новые изменения в oauth Facebook. Раньше я мог запрашивать разрешения для пользователей, чтобы они могли получить доступ к моему приложению. Теперь новые пользователи больше не могут предоставлять разрешения моему приложению. Они отправляются по адресу:

https://www.facebook.com/dialog/permissions.request?app_id=myappid&display=page&next=http%3A%2F%2Fwww.mywebsite.com%2Ffacebook%2F&response_type=code&state=094d0568ec11f05e8cc594d69342d0e1&fbconnect=1

и получите сообщение «Извините, что-то пошло не так. Мы работаем над тем, чтобы исправить это, как только сможем». Если, с другой стороны, пользователь уже предоставил разрешения моему приложению до oauth, все было в порядке.

PHP выглядит так:

$user = $facebook->getUser();

if ($user) {
  try {
    // If the user has been authenticated then proceed
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
 }

 // If the user is authenticated then generate the variable for the logout URL
 if ($user) {
 $logoutUrl = $facebook->getLogoutUrl();

тогда пользователь получает страницу индекса html моего приложения. в противном случае предполагается, что они будут перенаправлены в диалоговое окно запроса прав доступа с помощью следующего php в конце страницы:

 } else {
   $loginUrl = $facebook->getLoginUrl(array('redirect_uri' => $fbconfig['appUrl']));
   print "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
 }

Как я уже сказал, предварительно зарегистрированные пользователи могут получить доступ к контенту безупречно, но новых участников приветствует вышеупомянутая ошибка, а не экран разрешений.

Может кто-нибудь помочь мне решить мою проблему с разрешениями? Спасибо за любой совет

1 Ответ

0 голосов
/ 05 ноября 2011

Сообщение об ошибке, которое вы получаете

 API Error Code: 191
 API Error Description: The specified URL is not owned by the application
 Error Message: redirect_uri is not owned by the application.

Это означает, что вы пытаетесь перенаправить пользователя сразу после входа на страницу, которая не является частью вашего приложения (согласно вашей конфигурации)

Наиболее вероятная причина этого заключается в том, что URL-адрес, определенный в $fbconfig['appUrl']), не соответствует тому, что вы настроили в настройках приложения в поле «Домены сайта»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...