public async Task <OAuth2AccessToken> ExchangeAuthCodeForAccessTokenAsync(string code) { HttpClient httpClient = new HttpClient(); string postUrl = OAuth2Helper.FitbitOauthPostUrl; var content = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("grant_type", "authorization_code"), new KeyValuePair <string, string>("client_id", ClientId), //new KeyValuePair<string, string>("client_secret", AppSecret), new KeyValuePair <string, string>("code", code), new KeyValuePair <string, string>("redirect_uri", this.RedirectUri) }); string clientIdConcatSecret = OAuth2Helper.Base64Encode(ClientId + ":" + ClientSecret); httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", clientIdConcatSecret); HttpResponseMessage response = await httpClient.PostAsync(postUrl, content); string responseString = await response.Content.ReadAsStringAsync(); OAuth2AccessToken accessToken = OAuth2Helper.ParseAccessTokenResponse(responseString); return(accessToken); }
public async Task <OAuth2AccessToken> RefreshToken(string refreshToken) { string postUrl = FitbitOauthPostUrl; var content = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("grant_type", "refresh_token"), new KeyValuePair <string, string>("refresh_token", refreshToken), }); var httpClient = new HttpClient(); var clientIdConcatSecret = OAuth2Helper.Base64Encode(ClientId + ":" + ClientSecret); httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", clientIdConcatSecret); HttpResponseMessage response = await httpClient.PostAsync(postUrl, content); string responseString = await response.Content.ReadAsStringAsync(); return(OAuth2Helper.ParseAccessTokenResponse(responseString)); }