public string GenerateOAuthParametersForHeader() { var builder = new StringBuilder(); if (Realm != null) { builder.Append("realm=\"").Append(Realm).Append("\""); } IEnumerable <QueryParameter> parameters = UriUtility.ToQueryParametersExcludingTokenSecret(AuthorizationHeaderParameters); foreach (var parameter in parameters) { if (parameter.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 Uri GenerateUri() { var builder = new UriBuilder(NormalizedRequestUrl); IEnumerable <QueryParameter> parameters = UriUtility.ToQueryParametersExcludingTokenSecret(QueryParameters); builder.Query = UriUtility.FormatQueryString(parameters); return(builder.Uri); }
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(UriUtility.ToQueryParametersExcludingTokenSecret(FormEncodedParameters)); } if (QueryParameters != null) { allParameters.AddRange(UriUtility.ToQueryParametersExcludingTokenSecret(QueryParameters)); } if (Cookies != null) { allParameters.AddRange(UriUtility.ToQueryParametersExcludingTokenSecret(Cookies)); } if (AuthorizationHeaderParameters != null) { allParameters.AddRange(UriUtility.ToQueryParametersExcludingTokenSecretAndRealm(AuthorizationHeaderParameters)); } allParameters.RemoveAll(param => param.Key == Parameters.OAuth_Signature); string signatureBase = UriUtility.FormatParameters(RequestMethod, new Uri(NormalizedRequestUrl), allParameters); return(signatureBase); }