DevDefined.OAuth
DevDefined.OAuth copied to clipboard
Parameter names are not properly encoded for signature
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<QueryParameter> 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".