private string WriteAuthorizationHeader(WebParameterCollection parameters) { var sb = new StringBuilder("OAuth "); if (!IsNullOrBlank(Realm)) { sb.AppendFormat("realm=\"{0}\",", OAuthTools.UrlEncodeRelaxed(Realm)); } parameters.Sort((l, r) => l.Name.CompareTo(r.Name)); foreach (var parameter in parameters.Where(parameter => !IsNullOrBlank(parameter.Name) && !IsNullOrBlank(parameter.Value) && (parameter.Name.StartsWith("oauth_") || parameter.Name.StartsWith("x_auth_")))) { sb.AppendFormat("{0}=\"{1}\",", parameter.Name, parameter.Value); } sb.Remove(sb.Length - 1, 1); var authorization = sb.ToString(); return(authorization); }
private string WriteAuthorizationHeader(WebParameterCollection parameters) { StringBuilder stringBuilder = new StringBuilder("OAuth "); if (!OAuthRequest.IsNullOrBlank(this.Realm)) { stringBuilder.AppendFormat("realm=\"{0}\",", (object)OAuthTools.UrlEncodeRelaxed(this.Realm)); } parameters.Sort((Comparison <WebParameter>)((l, r) => l.Name.CompareTo(r.Name))); int num = 0; foreach (WebParameter webParameter in parameters.Where <WebParameter>((Func <WebParameter, bool>)(parameter => { if (!OAuthRequest.IsNullOrBlank(parameter.Name) && !OAuthRequest.IsNullOrBlank(parameter.Value)) { return(parameter.Name.StartsWith("oauth_")); } return(false); }))) { ++num; string format = num < parameters.Count ? "{0}=\"{1}\"," : "{0}=\"{1}\""; stringBuilder.AppendFormat(format, (object)webParameter.Name, (object)webParameter.Value); } return(stringBuilder.ToString()); }
private string WriteAuthorizationHeader(WebParameterCollection parameters) { var sb = new StringBuilder("OAuth "); if (!IsNullOrBlank(Realm)) { sb.AppendFormat("realm=\"{0}\",", OAuthTools.UrlEncodeRelaxed(Realm)); } parameters.Sort((l, r) => l.Name.CompareTo(r.Name)); var count = 0; foreach (var parameter in parameters.Where(parameter => !IsNullOrBlank(parameter.Name) && !IsNullOrBlank(parameter.Value) && parameter.Name.StartsWith("oauth_"))) { count++; var format = count < parameters.Count ? "{0}=\"{1}\"," : "{0}=\"{1}\""; sb.AppendFormat(format, parameter.Name, parameter.Value); } var authorization = sb.ToString(); return(authorization); }
/// <summary> /// Creates a signature value given a signature base and the consumer secret and a known token secret. /// </summary> /// <seealso href="http://oauth.net/core/1.0#rfc.section.9.2" /> /// <param name="signatureMethod">The hashing method</param> /// <param name="signatureTreatment">The treatment to use on a signature value</param> /// <param name="signatureBase">The signature base</param> /// <param name="consumerSecret">The consumer secret</param> /// <param name="tokenSecret">The token secret</param> /// <returns></returns> public static string GetSignature( OAuthSignatureMethod signatureMethod, OAuthSignatureTreatment signatureTreatment, string signatureBase, string consumerSecret, string tokenSecret) { if (OAuthTools.IsNullOrBlank(tokenSecret)) { tokenSecret = string.Empty; } consumerSecret = OAuthTools.UrlEncodeRelaxed(consumerSecret); tokenSecret = OAuthTools.UrlEncodeRelaxed(tokenSecret); if (signatureMethod != OAuthSignatureMethod.HmacSha1) { throw new NotImplementedException("Only HMAC-SHA1 is currently supported."); } HMACSHA1 hmacshA1 = new HMACSHA1(); string s = consumerSecret + "&" + tokenSecret; hmacshA1.Key = OAuthTools._encoding.GetBytes(s); string str = OAuthTools.HashWith(signatureBase, (HashAlgorithm)hmacshA1); return(signatureTreatment == OAuthSignatureTreatment.Escaped ? OAuthTools.UrlEncodeRelaxed(str) : str); }
public static string ConcatenateRequestElements(string method, string url, WebParameterCollection parameters) { StringBuilder stringBuilder = new StringBuilder(); string value = method.ToUpper() + "&"; string value2 = OAuthTools.UrlEncodeRelaxed(OAuthTools.ConstructRequestUrl(new Uri(url))) + "&"; string value3 = OAuthTools.UrlEncodeRelaxed(OAuthTools.NormalizeRequestParameters(parameters)); stringBuilder.Append(value); stringBuilder.Append(value2); stringBuilder.Append(value3); return(stringBuilder.ToString()); }
private string WriteAuthorizationHeader(WebParameterCollection parameters) { StringBuilder stringBuilder = new StringBuilder("OAuth "); if (!OAuthRequest.IsNullOrBlank(this.Realm)) { stringBuilder.AppendFormat("realm=\"{0}\",", OAuthTools.UrlEncodeRelaxed(this.Realm)); } parameters.Sort((WebParameter l, WebParameter r) => l.Name.CompareTo(r.Name)); int num = 0; foreach (WebParameter webParameter in parameters.Where((WebParameter parameter) => !OAuthRequest.IsNullOrBlank(parameter.Name) && !OAuthRequest.IsNullOrBlank(parameter.Value) && (parameter.Name.StartsWith("oauth_") || parameter.Name.StartsWith("x_auth_")))) { num++; string format = (num >= parameters.Count) ? "{0}=\"{1}\"" : "{0}=\"{1}\","; stringBuilder.AppendFormat(format, webParameter.Name, webParameter.Value); } return(stringBuilder.ToString()); }