title: Bad request on ProcessUserAuthorization (DotNetOpenAuth 4.2.2.13055)
body: <p>I'm trying to upgrade the <code>DotNetOpenAuth</code> verson to <code>4.2.2.13055</code>, in the Google dotnet client library.
  So I downloaded the latest dlls - DotNetOpenAuth.Core, DotNetOpenAuth.OAuth2, etc. (we still don't work with NuGet).</p>
  
  <p>I made a small change (changed the way I construct NativeApplcationClient with client_id and client_secret) to support the new version.
  Then, I tried to run a sample we have in our samples repository (e.g. <a href="https://code.google.com/p/google-api-dotnet-client/source/browse/Tasks.SimpleOAuth2/Program.cs?repo=samples" rel="nofollow noreferrer">https://code.google.com/p/google-api-dotnet-client/source/browse/Tasks.SimpleOAuth2/Program.cs?repo=samples</a>), and I got a bad request error, as following:</p>
  
  <pre><code> DotNetOpenAuth.Messaging.ProtocolException: Error occurred while sending a direct message or getting the response. ---&gt;
   System.Net.WebException: The remote server returned an error: (400) Bad Request.
     at System.Net.HttpWebRequest.GetResponse()
     at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest request, DirectWebRequestOptions opt
  ions)
     --- End of inner exception stack trace ---
     at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest request, DirectWebRequestOptions opt
  ions)
     at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest request)
     at DotNetOpenAuth.Messaging.Channel.GetDirectResponse(HttpWebRequest webRequest)
     at DotNetOpenAuth.Messaging.Channel.RequestCore(IDirectedProtocolMessage request)
     at DotNetOpenAuth.Messaging.Channel.Request(IDirectedProtocolMessage requestMessage)
     at DotNetOpenAuth.OAuth2.ClientBase.UpdateAuthorizationWithResponse(IAuthorizationState authorizationState, EndUserAu
  thorizationSuccessAuthCodeResponse authorizationSuccess)
     at DotNetOpenAuth.OAuth2.UserAgentClient.ProcessUserAuthorization(IAuthorizationState authorizationState, IDirectedPr
  otocolMessage response)
     at DotNetOpenAuth.OAuth2.UserAgentClient.ProcessUserAuthorization(Uri actualRedirectUrl, IAuthorizationState authoriz
  ationState)
     at Google.Apis.Authentication.OAuth2.DotNetOpenAuth.NativeApplicationClient.ProcessUserAuthorization(String authCode,
   IAuthorizationState authorizationState) in c:\code.google.com\google-api-dotnet-client\default_oauth2\Src\GoogleApis.Au
  thentication.OAuth2\DotNetOpenAuth\NativeApplicationClient.cs:line 102
     at Google.Apis.Samples.TasksOAuth2.Program.GetAuthorization(NativeApplicationClient arg) in c:\code.google.com\google
  -api-dotnet-client\samples_oauth2\Tasks.SimpleOAuth2\Program.cs:line 73
     at Google.Apis.Authentication.OAuth2.OAuth2Authenticator`1.LoadAccessToken() in c:\code.google.com\google-api-dotnet-
  client\default_oauth2\Src\GoogleApis.Authentication.OAuth2\OAuth2Authenticator.cs:line 124
  </code></pre>
  
  <p>I noticed also that there is a different in the second request (in exchanging the code with a token): Authorization header was added to the request, and the body was missing my client_id and client_secret. </p>
  
  <p>Similar code worked on old version - 4.0.0.11165,
  Am I missing something?</p>