public OAuth2Tokens RefreshToken(string refreshToken) { using (var client = new WebClient()) { var form = HttpUtility.ParseQueryString(String.Empty); form["grant_type"] = "refresh_token"; form["refresh_token"] = refreshToken; client.AuthorizeBasic(clientId, clientSecret); var response = client.UploadValues(tokenUri, form); var json = Encoding.UTF8.GetString(response); var tokens = JsonConvert.DeserializeObject <OAuth2Tokens>(json, JsonSettings); return(tokens); } }
public OAuth2Tokens ExchangeCodeForTokens(string code, Uri redirectUri) { using (var client = new WebClient()) { var form = HttpUtility.ParseQueryString(String.Empty); form["code"] = code; form["redirect_uri"] = redirectUri.AbsoluteUri; form["grant_type"] = "authorization_code"; client.AuthorizeBasic(clientId, clientSecret); byte[] response = client.UploadValues(tokenUri, form); string json = Encoding.UTF8.GetString(response); var tokens = JsonConvert.DeserializeObject <OAuth2Tokens>(json, JsonSettings); return(tokens); } }