Направление пользователей на страницу входа в Facebook без разрешения - PullRequest
0 голосов
/ 05 октября 2011

Я пытаюсь перенаправить пользователей на страницу входа в Facebook, а затем вернуться в свое приложение без отображения страницы входа в приложение.Возможно ли это?

Я изучил параметр "next", который автоматически генерируется PHP-SDK, но, похоже, не может его изменить.

Есть ли вообще заняться тем, что я ищу?Я хочу убедиться, что пользователи вошли в систему, чтобы проверить, авторизовали ли они мое приложение, но не хотят, чтобы они выполняли его, если это еще не сделано.

Спасибо за любую помощь!

Ответы [ 3 ]

2 голосов
/ 05 октября 2011

Нет, я не думаю, что можно изменить параметр next .Единственное место, где я увидел следующий параметр (в PHP SDK), это функция getLogoutUrl(), как видно из источника base_facebook.php .И этот параметр определяет, какой URL идти после выхода из системы.Для getLoginUrl() в файле base_facebook.php мы имеем

 return $this->getUrl(
  'www',
  'dialog/oauth',
  array_merge(array(
                'client_id' => $this->getAppId(),
                'redirect_uri' => $currentUrl, // possibly overwritten
                'state' => $this->state),
              $params));

в качестве последней строки в функции, что, очевидно, означает, что oauth-диалог будет отображаться, независимо от того,что вы пытаетесьЕсли ваше приложение отсутствует на Facebook, вы можете перейти на <fb:login-button>Login with Facebook</fb:login-button> в Javascript, а затем следовать примеру из этого URL .Там вы увидите, что невозможно полностью удалить этот диалог , даже если вы не запрашиваете никаких разрешений.Метод Fav.login () Javascript SDK также вызовет диалог авторизации.Надеюсь, это поможет.

2 голосов
/ 05 октября 2011

Они должны принимать разрешения только в первый раз.Facebook никогда не позволит вам получать данные пользователя без их ведома / accept

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

Если вы используете php:

// Create our Application instance.
$facebook = new Facebook(array(
  'appId'  => $fbconfig['appid'],
  'secret' => $fbconfig['secret'],
  'cookie' => true
));

//Facebook Authentication part
$user = $facebook->getUser();

if (!$user) {
    // user is not logged on --> redirect to the login url
} else {
    // user is logged on you can do what you want
}
...