// // Used to authorize an HTTP request going to TwitPic // public static void AuthorizeTwitPic(OAuthConfig config, HttpWebRequest wc, string oauthToken, string oauthTokenSecret) { var headers = new Dictionary<string, string>() { { "oauth_consumer_key", config.ConsumerKey }, { "oauth_nonce", MakeNonce () }, { "oauth_signature_method", "HMAC-SHA1" }, { "oauth_timestamp", MakeTimestamp () }, { "oauth_token", oauthToken }, { "oauth_version", "1.0" }, //{ "realm", "http://api.twitter.com" } }; string signurl = "http://api.twitter.com/1/account/verify_credentials.xml"; // The signature is not done against the *actual* url, it is done against the verify_credentials.json one string signature = MakeSignature ("GET", signurl, headers); string compositeSigningKey = MakeSigningKey (config.ConsumerSecret, oauthTokenSecret); string oauth_signature = MakeOAuthSignature (compositeSigningKey, signature); headers.Add ("oauth_signature", OAuth.PercentEncode (oauth_signature)); Console.WriteLine ("Headers: " + HeadersToOAuth (headers)); wc.Headers.Add ("X-Verify-Credentials-Authorization", HeadersToOAuth (headers)); wc.Headers.Add ("X-Auth-Service-Provider", signurl); }
// Constructor for xAuth public OAuthAuthorizer(OAuthConfig config, string xAuthUsername, string xAuthPassword) { this.config = config; this.xAuthUsername = xAuthUsername; this.xAuthPassword = xAuthPassword; }
public static void AuthorizeRequest(OAuthConfig config, WebClient wc, string oauthToken, string oauthTokenSecret, string method, Uri uri, string data) { var headers = new Dictionary<string, string>() { { "oauth_consumer_key", config.ConsumerKey }, { "oauth_nonce", MakeNonce () }, { "oauth_signature_method", "HMAC-SHA1" }, { "oauth_timestamp", MakeTimestamp () }, { "oauth_token", oauthToken }, { "oauth_version", "1.0" }}; var signatureHeaders = new Dictionary<string,string> (headers); // Add the data and URL query string to the copy of the headers for computing the signature if (data != null && data != ""){ var parsed = HttpUtility.ParseQueryString (data); foreach (string k in parsed.Keys){ signatureHeaders.Add (k, OAuth.PercentEncode (parsed [k])); } } var nvc = HttpUtility.ParseQueryString (uri.Query); foreach (string key in nvc){ if (key != null) signatureHeaders.Add (key, OAuth.PercentEncode (nvc [key])); } string signature = MakeSignature (method, uri.GetLeftPart (UriPartial.Path), signatureHeaders); string compositeSigningKey = MakeSigningKey (config.ConsumerSecret, oauthTokenSecret); string oauth_signature = MakeOAuthSignature (compositeSigningKey, signature); headers.Add ("oauth_signature", OAuth.PercentEncode (oauth_signature)); wc.Headers [HttpRequestHeader.Authorization] = HeadersToOAuth (headers); }
// Constructor for standard OAuth public OAuthAuthorizer(OAuthConfig config) { this.config = config; }