为什么Twitter API请求用户';s的权限


Why Twitter API requests user's permission each time?

我使用的是带有CodeBird(PHP)的Twitter API。

以下是推特文档中的一句话:

因此,对于已经登录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());

已解决!

oauth_authorize将始终向用户请求权限。

oauth_authenticate将只请求一次,如果已授予访问权限,则将执行自动重定向。