【问题标题】:oAuth in PHP to make 2 legged requestPHP中的oAuth发出2条腿请求
【发布时间】:2010-12-02 13:34:29
【问题描述】:

我目前被困在尝试使用 PHP 使用 2 腿 oAuth 请求向服务的 api 发出请求。

我正在使用此处找到的 PHP 库:http://code.google.com/p/oauth-php/,并且似乎绝对没有任何在线文档可以使用此库进行 2 条腿请求。

所以目前从服务中我有以下详细信息:

  • $consumer_key - 必须是一个空字符串
  • $consumer_secret - 必须是一个空字符串
  • $access_token - 我的登录名
  • $access_token_secret - 您生成的应用令牌

我希望能够向以下人员提出请求:

http://foo.com/api/test/whoami

测试身份验证是否正常工作,以便我可以使用 api 的其余部分。

有人知道如何使用该 php 库来实现这一点吗?还是有更好的方法来进行这样的简单 2 腿呼叫?

帮助!? :)

【问题讨论】:

  • 密钥/秘密的“需要为空字符串”是什么意思?您需要一些值才能签署请求。此外,您通常不会将访问令牌/令牌密码用于 2 腿请求 - 您只需使用密码对参数进行签名
  • 我正在验证的服务需要一个空的消费者密钥和消费者密码才能工作。我不确定为什么会这样,不过我几乎已经解决了这些问题,希望能够在一两个小时内为我自己的问题制定一个答案......
  • 找到解决方案还是 OP 被公共汽车撞了? 1 或 2 小时变成了 4 个月 :)
  • 不,没有被公共汽车撞到。尽管考虑到这个过程有多烦人,这本来很合适。由于没有成功并且预算超支,该项目被削减了。
  • code.google.com/p/oauth-php/wiki/ConsumerHowTo 上确实有一些关于此特定库的 2 条腿请求的非常好的 wiki,但抱歉来晚了 :)

标签: php oauth 2-legged


【解决方案1】:

【讨论】:

  • 该示例似乎要求自己提供密钥,我似乎没有任何真正的 API 端点,它始终是当前脚本。仍在寻找纯 php 中的简单示例。
【解决方案2】:

您只需要消费者密钥和消费者秘密来发出授权的 2-legged oauth 请求。

下载OAuthConsumer。 (注释掉类OAuthException第6-8行)

代码示例:

require_once 'OAuth.php';

$signatureMethod = new OAuthSignatureMethod_HMAC_SHA1();
$consumerKey = 'abc';
$consumerSecret = 'def';
$httpMethod = 'GET';
$url = 'http://path/to/endpoint';
$requestFields = array();

$oauthConsumer = new OAuthConsumer($consumerKey, $consumerSecret, NULL);
$oauthRequest = OAuthRequest::from_consumer_and_token($oauthConsumer, NULL, $httpMethod, $url, $requestFields);
$oauthRequest->sign_request($signatureMethod, $oauthConsumer, NULL);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-20
    • 2020-03-20
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    • 2019-12-27
    • 2010-12-11
    • 2012-05-29
    相关资源
    最近更新 更多