title: Stuck between two errors in an Azure OAuth2 token request
body: <p>I am implementing an OAuth2 provider for OWIN and Azure Active Director. FWIW, at this time the OpenId Connect option doesn't fit the requirements for this work. </p>
  
  <p>I get an auth code, and returned to my reply url with the auth_code, state, and make the request for a token to "scheme://login.windows.net/{myguid}/oauth2/token. </p>
  
  <pre><code> // Build up the body for the token request
   var body = new List&lt;KeyValuePair&lt;string, string&gt;&gt;();
   body.Add(new KeyValuePair&lt;string, string&gt;("grant_type", "authorization_code"));
   body.Add(new KeyValuePair&lt;string, string&gt;("code", code));
   body.Add(new KeyValuePair&lt;string, string&gt;("redirect_uri", redirectUri));
   body.Add(new KeyValuePair&lt;string, string&gt;("client_id", Options.ClientId));
   body.Add(new KeyValuePair&lt;string, string&gt;("client_secret", Options.ClientSecret));
  
   // Request the token
   HttpResponseMessage tokenResponse =
       await httpClient.PostAsync(TokenEndpoint, new FormUrlEncodedContent(body));
   string text = await tokenResponse.Content.ReadAsStringAsync();
   tokenResponse.EnsureSuccessStatusCode();
  </code></pre>
  
  <p>I get this error:</p>
  
  <pre><code>{"error":"invalid_resource","error_description":"AADSTS50001: Resource identifier is not provided.
  Trace ID: 227f2af8-0837-4f22-ac0f-a09b3f9a6d50
  Correlation ID: 3d783f11-44d0-4efa-8831-3dd581d653ed
  Timestamp: 2014-08-08 21:59:49Z","error_codes":[50001],"timestamp":"2014-08-08 21:59:49Z","trace_id":"227f2af8-0837-4f22-ac0f-a09b3f9a6d50","correlation_id":"3d783f11-44d0-4efa-8831-3dd581d653ed"}
  </code></pre>
  
  <p>OK, I add the resource option:</p>
  
  <pre><code> // Build up the body for the token request
   var body = new List&lt;KeyValuePair&lt;string, string&gt;&gt;();
   body.Add(new KeyValuePair&lt;string, string&gt;("grant_type", "authorization_code"));
   body.Add(new KeyValuePair&lt;string, string&gt;("code", code));
   body.Add(new KeyValuePair&lt;string, string&gt;("redirect_uri", redirectUri));
   body.Add(new KeyValuePair&lt;string, string&gt;("client_id", Options.ClientId));
   body.Add(new KeyValuePair&lt;string, string&gt;("client_secret", Options.ClientSecret));
   body.Add(new KeyValuePair&lt;string, string&gt;("resource", "https://myappid"));
  
  {"error":"invalid_request","error_description":"AADSTS90027: The client 'xxxxx' and resource 'https://myappid' identify the same application.
  Trace ID: 6c77f123-d75f-43a9-8117-b3f372891ee4
  Correlation ID: d9081f8b-b690-4478-bf15-55325a9736ec
  Timestamp: 2014-08-08 21:48:34Z","error_codes":[90027],"timestamp":"2014-08-08 21:48:34Z","trace_id":"6c77f123-d75f-43a9-8117-b3f372891ee4","correlation_id":"d9081f8b-b690-4478-bf15-55325a9736ec"}
  </code></pre>
  
  <p>so I must have the correct app id associated with my client id. hrrmph! I am clearly doing something wrong but just can't seem to see it. Any suggestions? </p>