【问题标题】:Twitter abraham twitteroauth constantly asking for permissionTwitter abraham twitteroauth 不断请求许可
【发布时间】:2015-07-11 11:48:35
【问题描述】:

我使用abraham / twitteroauth 允许用户通过他们的Twitter 帐户登录。目前我可以创建链接,让他们访问链接,授权应用使用他们的详细信息,返回网站并按预期保存他们的user_id 和访问令牌。

这很好并且运行良好,但是当用户然后注销(清除会话、cookie 等)然后单击“使用 Twitter 登录”按钮时,它会再次询问他们的许可,即使应用程序是已经在他们的应用程序中注册并拥有该权限。不应该只是让他们重新登录吗?

登录链接生成 使用 Code Igniter 所以忽略语法

$connection = new TwitterOAuth(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET);

$request_token = $connection->oauth('oauth/request_token', array('oauth_callback' => RETURN_WEBSITE_URL));

$twitterOauth = array(
    "oauth_token" => $request_token['oauth_token'],
    "oauth_token_secret" => $request_token['oauth_token_secret'],
);

$this->session->set_userdata($twitterOauth);
$this->twitterLoginUrl = $connection->url('oauth/authorize', array('oauth_token' => $request_token['oauth_token']));

返回函数

$request_token = [];
$request_token['oauth_token'] = $this->session->userdata('oauth_token');;
$request_token['oauth_token_secret'] = $this->session->userdata('oauth_token_secret');;

if (isset($_REQUEST['oauth_token']) && $request_token['oauth_token'] !== $_REQUEST['oauth_token']) {
    die("This isn't right.");
}

$connection = new TwitterOAuth(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET, $request_token['oauth_token'], $request_token['oauth_token_secret']);
$access_token = $connection->oauth("oauth/access_token", array("oauth_verifier" => $_REQUEST['oauth_verifier']));

我做错了什么?

【问题讨论】:

    标签: php twitter twitter-oauth


    【解决方案1】:

    Twitter API 支持两种登录流程。 3-legged authorizationSign in with Twitter。它们之间的主要区别在于,如果用户之前已授权应用程序,使用 Twitter 登录将自动重定向回应用程序。

    技术上的区别在于,3-legged 使用 GET oauth/authorize,而通过 Twitter 登录使用 GET oauth/authenticate

    您的代码实现了 GET oauth/authorize,所以是的,预计用户每次都必须授权。如果您不希望返回用户授权,则必须切换到 GET oauth/authenticate。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-25
      • 1970-01-01
      • 2012-05-18
      • 1970-01-01
      • 2022-01-03
      • 2015-06-17
      • 1970-01-01
      相关资源
      最近更新 更多