【问题标题】:How to keep application authorized (Twitter OAuth)如何保持应用程序授权(Twitter OAuth)
【发布时间】:2013-05-21 12:50:53
【问题描述】:

所以,我正在使用 twitter OAuth API 并尝试显示来自我的家庭时间线的推文,它成功了

但是,每次我想从我的家庭时间线访问推文时,我都需要授权我的应用程序,如果我只是重新加载我放置推文的页面,那么推文将为空

我不喜欢 dabr,所以用户使用 twitter 登录,无论用户做什么,用户都不需要再次授权应用程序

有什么办法吗?

【问题讨论】:

  • 您应该将 OAuth 实例保存到 $_SESSION
  • 顺便说一下,我制作了我非常有用的库,UltimateOAuth。如果你能读懂一点日语,请随意看看 GitHub。 github.com/Certainist/UltimateOAuth 您也可以像使用 xAuth 一样进行 OAuth 授权。我将此命名为 para-xAuth 授权
  • @CertaiN:OAuth 实例是什么意思(抱歉,我是 twitter OAuth API 的新手),我也不懂日语
  • 你用的是什么库? twitteroauth.php?
  • 是的,Abaraham 的 twitter oauth 库

标签: php twitter oauth authorize


【解决方案1】:

将 TwitterOAuth 实例本身设置到会话中可能会对您有所帮助。

<?php

// Make sure to load library before starting session
require_once('twitteroauth.php');

session_start();

if (isset(
    $_SESSION['oauth_token'],
    $_SESSION['oauth_token_secret'],
    $_GET['oauth_verifier']
)) {

    // TwitterOAuth instance, with two new parameters we got in twitter_login.php  
    $twitteroauth = new TwitterOAuth('CONSUMER_KEY', 'CONSUMER_SECRET', $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);

    // Let's request the access token  
    $twitteroauth->getAccessToken($_GET['oauth_verifier']);

    // Save TwitterOAuth instance in a session var
    $_SESSION['twitteroauth'] = $twitteroauth;

    // Reset parameters
    unset($_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);

} elseif (isset($_SESSION['twitteroauth'])) {

    $twitteroauth = $_SESSION['twitteroauth'];

} else {

    die('Error');

}


// You can request here using $twitteroauth.

【讨论】:

  • 您是指第一个代码上的oauth_tokenoauth_token_secret 吗?
  • 嗯...如果您的意思是他们在致电https://api.twitter.com/oauth/access_token 后得到,那是真的。
  • 是的,就是$token_credentials = $connection-&gt;getAccessToken($_REQUEST['oauth_verifier']);引用自GitHub
  • $access_token 表示$token_credentials['oauth_token']$access_token_secret 表示$token_credentials['oauth_token_secret']
  • 人们经常使用这些名称来区分access_tokenrequest_token
猜你喜欢
  • 2011-03-16
  • 2015-09-16
  • 1970-01-01
  • 2011-04-09
  • 2011-08-23
  • 2011-04-03
  • 2011-07-15
  • 2012-04-08
  • 2019-09-25
相关资源
最近更新 更多