2015-12-27 33 views
1

我使用CodeBird(PHP)的Twitter API。爲什麼Twitter API每次都要求用戶的許可?

這裏是從Twitter的文檔報價:

所以到twitter.com誰已授權應用程序已經登錄的用戶,沒有用戶界面顯示 - 相反,他們被自動重定向迴應用程序。

在用戶已登錄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只會請求一次,如果訪問權限已被授權,它將執行自動重定向。

相關問題