2015-12-27 2 views
1

Я использую API Twitter с CodeBird (PHP).Почему Twitter API каждый раз запрашивает разрешение пользователя?

Вот цитата из документации в Twitter:

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

В случае, когда пользователь уже выполнил вход на twitter.com и предоставил доступ к веб-сайту, это перенаправление происходит немедленно.

https://dev.twitter.com/web/sign-in/desktop-browser

Почему это не работает для меня? Twitter запрашивает разрешение пользователя на каждый раз.

Мой код для получения URL авторизации:

\Codebird\Codebird::setConsumerKey(
     $this->config['twitter']['consumer_key'], 
     $this->config['twitter']['consumer_secret'] 
    ); 

    $cb = \Codebird\Codebird::getInstance(); 

    $reply = $cb->oauth_requestToken([ 
     'oauth_callback' => 'https://***/login/twitter' 
    ]); 

    $cb->setToken($reply->oauth_token, $reply->oauth_token_secret); 

    $this->session->twitter_oauth_token = $reply->oauth_token; 
    $this->session->twitter_oauth_token_secret = $reply->oauth_token_secret; 
    $this->session->twitter_oauth_verify = true; 

    return $this->redirect($cb->oauth_authorize()); 

ответ

2

Решено!

oauth_authorize всегда будет запрашивать у пользователя разрешение.

oauth_authenticate запросит его только один раз и выполнит автоматическую переадресацию, если доступ уже предоставлен.

Смежные вопросы