RestSharp OAuth1Authenticator从签名基本字符串中省略了GET参数

时间:2012-04-24 17:15:05

标签: web-services rest oauth restsharp

我正在尝试使用RestSharp编写OAuth 1 REST客户端,并且我遇到了一些GET请求的无效签名问题。我逐步完成了代码,似乎问题是,对于GET请求,请求参数从签名基本字符串中省略。特别是,OAuth1Authenticator.cs中的违规代码是:

// for non-GET style requests make sure params are part of oauth signature
if (request.Method != Method.GET && request.Method != Method.DELETE)
{
    foreach (var p in request.Parameters.Where(p => p.Type == ParameterType.GetOrPost))
    {
        parameters.Add(new WebPair(p.Name, p.Value.ToString()));
    }
}

如果我删除if语句,它会按预期工作。

我误解了什么吗?根据OAuth规范中的签名基本字符串示例:http://oauth.net/core/1.0a/#sig_base_example,看起来应该将这些参数添加到基本签名中。这是OAuth1Authenticator中的错误,还是我做错了什么?

谢谢!

0 个答案:

没有答案