bittercoder / DevDefined.OAuth

An OAuth Consumer and Provider implemented for .Net
http://code.google.com/p/devdefined-tools/wiki/OAuth
162 stars 70 forks source link

Parameter names are not properly encoded for signature #19

Open JulianHidalgo opened 12 years ago

JulianHidalgo commented 12 years ago

Hi

The OAuth spec requires parameter names to be encoded using the %XX format and then URL encoded, but the code is not doing so (snippet from UriUtility.NormalizeRequestParameters):

IEnumerable orderedParameters = parameters .OrderBy(x => x.Key, StringComparer.Ordinal) .ThenBy(x => x.Value) .Select( x => new QueryParameter(x.Key, UrlEncode(x.Value)));

If a parameter name is "foo[bar]" the final encoding for the signature string should be "foo%255Bbar%255D" but the library currently produces "foo%5Bbar%5D".