public IEnumerable <string> GenerateSignatureBase() { if (string.IsNullOrEmpty(ConsumerKey)) { throw Error.MissingRequiredOAuthParameter(this, Parameters.OAuth_Consumer_Key); } if (string.IsNullOrEmpty(SignatureMethod)) { throw Error.MissingRequiredOAuthParameter(this, Parameters.OAuth_Signature_Method); } if (string.IsNullOrEmpty(RequestMethod)) { throw Error.RequestMethodHasNotBeenAssigned("RequestMethod"); } if (IncludeOAuthRequestBodyHashInSignature) { GenerateAndSetBodyHash(); } var allParameters = new List <QueryParameter>(); //fix for issue: http://groups.google.com/group/oauth/browse_thread/thread/42ef5fecc54a7e9a/a54e92b13888056c?hl=en&lnk=gst&q=Signing+PUT+Request#a54e92b13888056c if (FormEncodedParameters != null && RequestMethod == "POST") { allParameters.AddRange(FormEncodedParameters.ToQueryParametersExcludingTokenSecret()); } if (QueryParameters != null) { allParameters.AddRange(QueryParameters.ToQueryParametersExcludingTokenSecret()); } if (Cookies != null) { allParameters.AddRange(Cookies.ToQueryParametersExcludingTokenSecret()); } if (AuthorizationHeaderParameters != null) { allParameters.AddRange( AuthorizationHeaderParameters.ToQueryParametersExcludingTokenSecret() .Where(q => q.Key != Parameters.Realm)); } // patch from http://code.google.com/p/devdefined-tools/issues/detail?id=10 //if(RawContent != null) // allParameters.Add(new QueryParameter("raw", RawContent)); allParameters.RemoveAll(param => param.Key == Parameters.OAuth_Signature); foreach ( var signatureBase in UriUtility.FormatParameters(RequestMethod, new Uri(NormalizedRequestUrl), allParameters)) { yield return(signatureBase); } }
/// <summary> /// Generate OAuth parameters for header. /// </summary> /// <returns>The generated value.</returns> public string GenerateOAuthParametersForHeader() { var builder = new StringBuilder(); if (Realm != null) { builder.Append("realm=\"").Append(Realm).Append("\""); } IEnumerable <QueryParameter> parameters = AuthorizationHeaderParameters.ToQueryParametersExcludingTokenSecret(); foreach ( var parameter in parameters.Where(p => p.Key != Parameters.Realm) ) { if (builder.Length > 0) { builder.Append(","); } builder.Append(UriUtility.UrlEncode(parameter.Key)).Append("=\"").Append( UriUtility.UrlEncode(parameter.Value)).Append("\""); } builder.Insert(0, "OAuth "); return(builder.ToString()); }
public string GenerateSignatureBase() { if (Token == null) { Token = string.Empty; } if (string.IsNullOrEmpty(ConsumerKey)) { throw Error.MissingRequiredOAuthParameter(this, Parameters.OAuth_Consumer_Key); } if (string.IsNullOrEmpty(SignatureMethod)) { throw Error.MissingRequiredOAuthParameter(this, Parameters.OAuth_Signature_Method); } if (string.IsNullOrEmpty(RequestMethod)) { throw Error.RequestMethodHasNotBeenAssigned("RequestMethod"); } var allParameters = new List <QueryParameter>(); if (FormEncodedParameters != null && RequestMethod == "POST") { allParameters.AddRange(FormEncodedParameters.ToQueryParameters()); } if (QueryParameters != null) { allParameters.AddRange(QueryParameters.ToQueryParameters()); } if (Cookies != null) { allParameters.AddRange(Cookies.ToQueryParameters()); } if (AuthorizationHeaderParameters != null) { allParameters.AddRange(AuthorizationHeaderParameters.ToQueryParameters().Where(q => q.Key != Parameters.Realm)); } // remove the signature parameter and the token parameter if it's not specified if (string.IsNullOrEmpty(Token)) { allParameters.RemoveAll(param => param.Key == Parameters.OAuth_Token); } allParameters.RemoveAll(param => param.Key == Parameters.OAuth_Signature); //allParameters.RemoveAll(param => param.Key == Parameters.OAuth_Token && string.IsNullOrEmpty(param.Value)); // build the uri return(UriUtility.FormatParameters(RequestMethod, new Uri(NormalizedRequestUrl), allParameters)); }
public string GenerateSignatureBase() { if (Token == null) { Token = string.Empty; } if (string.IsNullOrEmpty(ConsumerKey)) { throw Error.MissingRequiredOAuthParameter("ConsumerKey"); } if (string.IsNullOrEmpty(SignatureMethod)) { throw Error.MissingRequiredOAuthParameter("SignatureMethod"); } if (string.IsNullOrEmpty(RequestMethod)) { throw Error.RequestMethodHasNotBeenAssigned("RequestMethod"); } var allParameters = new List <QueryParameter>(); if (FormEncodedParameters != null) { allParameters.AddRange(FormEncodedParameters.ToQueryParameters()); } if (QueryParameters != null) { allParameters.AddRange(QueryParameters.ToQueryParameters()); } if (Cookies != null) { allParameters.AddRange(Cookies.ToQueryParameters()); } if (AuthorizationHeaderParameters != null) { allParameters.AddRange( AuthorizationHeaderParameters.ToQueryParameters().Where(q => q.Name != Parameters.Realm)); } // remove the signature parameter allParameters.RemoveAll(param => param.Name == Parameters.OAuth_Signature); // build the uri return(UriUtility.FormatParameters(RequestMethod, new Uri(NormalizedRequestUrl), allParameters)); }
public string GenerateSignatureBase() { if (string.IsNullOrEmpty(ConsumerKey)) { throw Error.MissingRequiredOAuthParameter(this, Parameters.OAuth_Consumer_Key); } if (string.IsNullOrEmpty(SignatureMethod)) { throw Error.MissingRequiredOAuthParameter(this, Parameters.OAuth_Signature_Method); } if (string.IsNullOrEmpty(RequestMethod)) { throw Error.RequestMethodHasNotBeenAssigned("RequestMethod"); } var allParameters = new List <QueryParameter>(); //fix for issue: http://groups.google.com/group/oauth/browse_thread/thread/42ef5fecc54a7e9a/a54e92b13888056c?hl=en&lnk=gst&q=Signing+PUT+Request#a54e92b13888056c if (FormEncodedParameters != null && RequestMethod == "POST") { allParameters.AddRange(FormEncodedParameters.ToQueryParametersExcludingTokenSecret()); } if (QueryParameters != null) { allParameters.AddRange(QueryParameters.ToQueryParametersExcludingTokenSecret()); } if (Cookies != null) { allParameters.AddRange(Cookies.ToQueryParametersExcludingTokenSecret()); } if (AuthorizationHeaderParameters != null) { allParameters.AddRange(AuthorizationHeaderParameters.ToQueryParametersExcludingTokenSecret().Where(q => q.Key != Parameters.Realm)); } allParameters.RemoveAll(param => param.Key == Parameters.OAuth_Signature); string signatureBase = UriUtility.FormatParameters(RequestMethod, new Uri(NormalizedRequestUrl), allParameters); return(signatureBase); }
public string GenerateOAuthParametersForHeader() { var builder = new StringBuilder(); foreach (QueryParameter parameter in AuthorizationHeaderParameters.ToQueryParameters()) { if (builder.Length > 0) { builder.Append(","); } builder.Append(UriUtility.UrlEncode(parameter.Name)).Append("=\"").Append( UriUtility.UrlEncode(parameter.Value)).Append("\""); } builder.Insert(0, "OAuth "); return(builder.ToString()); }
public string GenerateSignatureBase() { if (string.IsNullOrEmpty(ConsumerKey)) { throw Error.MissingRequiredOAuthParameter(this, Parameters.OAuth_Consumer_Key); } if (string.IsNullOrEmpty(SignatureMethod)) { throw Error.MissingRequiredOAuthParameter(this, Parameters.OAuth_Signature_Method); } if (string.IsNullOrEmpty(RequestMethod)) { throw Error.RequestMethodHasNotBeenAssigned("RequestMethod"); } var allParameters = new List <QueryParameter>(); if (FormEncodedParameters != null) { allParameters.AddRange(FormEncodedParameters.ToQueryParametersExcludingTokenSecret()); } if (QueryParameters != null) { allParameters.AddRange(QueryParameters.ToQueryParametersExcludingTokenSecret()); } if (Cookies != null) { allParameters.AddRange(Cookies.ToQueryParametersExcludingTokenSecret()); } if (AuthorizationHeaderParameters != null) { allParameters.AddRange(AuthorizationHeaderParameters.ToQueryParametersExcludingTokenSecret().Where(q => q.Key != Parameters.Realm)); } allParameters.RemoveAll(param => param.Key == Parameters.OAuth_Signature); string signatureBase = UriUtility.FormatParameters(RequestMethod, new Uri(NormalizedRequestUrl), allParameters); return(signatureBase); }