如何使用我从tmhOAuth获得的用户令牌/秘密?

时间:2012-06-08 12:55:26

标签: php twitter oauth

我正在为我的网站使用优秀的tmhOAuth php库。但是,我无法弄清楚如何访问从我的auth.php收到的用户令牌/秘密? (比如,当试图获取朋友的当前用户列表时。)

the example中说明了:

* Although this example uses your user token/secret, you can use
* the user token/secret of any user who has authorised your application.

我已成功使用auth.php example,但如何使用我收到的USER令牌/秘密?如在示例中,它只是这样说:

$tmhOAuth = new tmhOAuth(array(
  'consumer_key' => 'YOUR_CONSUMER_KEY',
  'consumer_secret' => 'YOUR_CONSUMER_SECRET',
  'user_token' => 'A_USER_TOKEN',
  'user_secret' => 'A_USER_SECRET',
));

显然,硬编码对我来说不起作用,所以,简单地说,我想知道当前登录用户的令牌/秘密在哪里?

这是存储凭证的一个例子,我认为:

// already got some credentials stored?
} elseif ( isset($_SESSION['access_token']) ) {
  $tmhOAuth->config['user_token'] = $_SESSION['access_token']['oauth_token'];
  $tmhOAuth->config['user_secret'] = $_SESSION['access_token']['oauth_token_secret'];

  $code = $tmhOAuth->request('GET', $tmhOAuth->url('1/account/verify_credentials'));
  if ($code == 200) {
    $resp = json_decode($tmhOAuth->response['response']);
    echo $resp->screen_name;
  } else {
    outputError($tmhOAuth);
  }

1 个答案:

答案 0 :(得分:2)

用户应该通过oauth授权你,最终会给你一个每个用户的访问令牌(你需要存储在某个地方),你从存储中获取该令牌,在请求中提供它,以及你被授予访问权限的方式。因此,您的用户需要授予您访问权限,您需要存储访问令牌+秘密以供将来使用。

总之,不是非常具体,也不是100%技术上准确(我认为)但希望明确遵循以下条款:

使用oauth,您需要一个应用程序范围的令牌和秘密,消费者令牌和秘密。

使用这些消费者令牌,您可以向提供商索取请求令牌,秘密(以及通常是随机令牌),现在可以将您的应用识别为我,提供商和#所允许的应用x 39;

使用此请求令牌,您可以向应用询问特定用户的访问令牌(您知道哪个用户在您身边,他们知道或在他们身边找到),用户自己通常必须授权您的应用和#39; s访问,当一切顺利(意味着用户说好)时,您会收到一个最终访问令牌和秘密,您可以使用该密码与代表用户进行远程站点的连接。此时,您需要以某种方式物理存储令牌(数据库,文本文件,...)以供以后使用。

它在服务器和服务器之间来回传递,只要您拥有存储用户的有效访问令牌+密码,就不需要再次重复第一步。

一旦你拥有了那些,你可以把它们放在' user_token'和' user_secret'毫无疑问(我从未使用过这个库)和你的应用程序的消费者令牌/秘密一起进行身份验证。

对不起,如果你已经知道这一切并且它不是一个现成的答案。我的印象是,您还没有为其他用户访问令牌。