Reproducing the problem :
1. Creates an url rewriting, for instance '/resource/12' =>
'/resourceHandler.ashx?id=12'
2. Use the url '/resource/12'
Expected behavior :
Items added to query by url-rewriting should be ignored when generating
signature.
Effective behavior :
Items added to query by url-rewriting are use to compute the signature
Version of the product used :
0.8.1.1
Operating system :
Windows Vista 64bits
Additional information :
Problem does not concern url path, but query parameters that may be appended to
the url by url-rewriting mechanism. request.QueryString is based on
request.Url, which is the rewritten url. Query part of request.RawUrl should be
used instead.
Problem can be solved by replacing the OAuthParameters.Parse(HttpRequest
request, OAuthParameterSources sources) method by the following :
public static OAuthParameters Parse(HttpRequest request, OAuthParameterSources
sources)
{
var queryString = HttpUtility.ParseQueryString(new Uri(request.Url, request.RawUrl).Query);
return OAuthParameters.DoParse(request.Headers[Constants.AuthorizationHeaderParameter], request.Headers[Constants.WwwAuthenticateHeaderParameter], request.Form, queryString, sources, true);
}
Original issue reported on code.google.com by eric.bezine@gmail.com on 8 Jul 2010 at 9:51
Original issue reported on code.google.com by
eric.bezine@gmail.com
on 8 Jul 2010 at 9:51