Skip to content

Commit 582fe75

Browse files
LDoolittleLDoolittle
LDoolittle
authored and
LDoolittle
committed
Added type specification to parameters added in OAuth1Authenticator if the ParameterHandling is set to UrlOrPostParameters
1 parent 80c1e49 commit 582fe75

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

RestSharp.IntegrationTests/oAuth1Tests.cs

+28
Original file line numberDiff line numberDiff line change
@@ -381,5 +381,33 @@ public void Can_Query_Vimeo()
381381
Assert.False(response.Content.Contains("\"stat\":\"fail\""));
382382
Assert.True(response.Content.Contains("\"stat\":\"ok\""));
383383
}
384+
385+
[Test]
386+
public void Can_Authenticate_OAuth1_With_Querystring_Parameters()
387+
{
388+
const string consumerKey = "enterConsumerKeyHere";
389+
const string consumerSecret = "enterConsumerSecretHere";
390+
const string baseUrl = "http://restsharp.org";
391+
var expected = new List<string>
392+
{
393+
"oauth_consumer_key",
394+
"oauth_nonce",
395+
"oauth_signature_method",
396+
"oauth_timestamp",
397+
"oauth_version",
398+
"oauth_signature"
399+
};
400+
401+
RestClient client = new RestClient(baseUrl);
402+
RestRequest request = new RestRequest(Method.GET);
403+
var authenticator = OAuth1Authenticator.ForRequestToken(consumerKey, consumerSecret);
404+
authenticator.ParameterHandling = OAuthParameterHandling.UrlOrPostParameters;
405+
authenticator.Authenticate(client, request);
406+
407+
var requestUri = client.BuildUri(request);
408+
var actual = HttpUtility.ParseQueryString(requestUri.Query).AllKeys.ToList();
409+
410+
Assert.IsTrue(actual.SequenceEqual(expected));
411+
}
384412
}
385413
}

RestSharp/Authenticators/OAuth1Authenticator.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,8 @@ private void AddOAuthData(IRestClient client, IRestRequest request, OAuthWorkflo
293293
.Select(p => new Parameter
294294
{
295295
Name = p.Name,
296-
Value = HttpUtility.UrlDecode(p.Value)
296+
Value = HttpUtility.UrlDecode(p.Value),
297+
Type = ParameterType.GetOrPost
297298
}));
298299
break;
299300

0 commit comments

Comments
 (0)