【问题标题】:How to set the "realm" using PHP OAuth?如何使用 PHP OAuth 设置“领域”?
【发布时间】:2016-05-13 15:14:37
【问题描述】:

我有以下几点:

$oauth = new OAuth($consumer_key,$consumer_secret, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_AUTHORIZATION);
$oauth->setToken($oauth_access_token,$oauth_access_token_secret);

当我执行时:

$h = $oauth->getRequestHeader(OAUTH_HTTP_METHOD_POST, $url);

我得到了标题:

OAuth oauth_consumer_key="XXXXXXX",oauth_signature_method="HMAC-SHA1",oauth_nonce="1454566103",oauth_timestamp="1454566103",oauth_version="1.0",oauth_token="XXXXXXX",oauth_signature="XXXXXXXXXX"

问题是,我期待这个:

OAuth realm="1111", oauth_consumer_key="XXXXXXX",oauth_signature_method="HMAC-SHA1",oauth_nonce="1454566103",oauth_timestamp="1454566103",oauth_version="1.0",oauth_token="XXXXXXX",oauth_signature="XXXXXXXXXX"

但是如何添加“领域”部分并不明显。如何添加领域,以便在生成签名时,它会在初始构建字符串中说明领域?

【问题讨论】:

  • 我发现您的帖子非常有趣,并且对您的问题进行了一些研究,我遇到了这个post,它可能对您有用:)
  • 如果您使用pecl.php.net 中的库,记录在PHP manual 中,我认为它不支持这一点。当然,“领域”一词不会出现在源代码、文档或示例中的任何地方。您可能需要从oauth.net/code 的列表中下载另一个库。
  • 它实际上支持您想要传递给它的任何额外参数

标签: php oauth


【解决方案1】:

试试吧:

$h = $oauth->getRequestHeader(OAUTH_HTTP_METHOD_POST, $url,'realm=1234').',realm="1234"';

【讨论】:

    【解决方案2】:

    我可能完全错了,但是我们可以通过在所需目录中使用 htaccess 来设置标题吗? 通过这种方式,您预期的标头将包含在每个请求中,如果这不是问题的话

    在你的情况下是这样的......

    Header add realm "1111"
    

    【讨论】:

    • 它必须进入签名生成功能
    猜你喜欢
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    相关资源
    最近更新 更多