WebPairCollection GenerateAuthParameters(string timestamp, string nonce) { var authParameters = new WebPairCollection { new WebPair("oauth_consumer_key", ConsumerKey), new WebPair("oauth_nonce", nonce), new WebPair("oauth_signature_method", SignatureMethod.ToRequestValue()), new WebPair("oauth_timestamp", timestamp), new WebPair("oauth_version", Version ?? "1.0") }; if (!Token.IsEmpty()) { authParameters.Add(new WebPair("oauth_token", Token)); } if (!CallbackUrl.IsEmpty()) { authParameters.Add(new WebPair("oauth_callback", CallbackUrl)); } if (!Verifier.IsEmpty()) { authParameters.Add(new WebPair("oauth_verifier", Verifier)); } if (!SessionHandle.IsEmpty()) { authParameters.Add(new WebPair("oauth_session_handle", SessionHandle)); } return(authParameters); }
public string BuildProtectedResourceSignature(string method, WebPairCollection parameters, string url) { ValidateProtectedResourceState(); parameters ??= new WebPairCollection(); // Include url parameters in query pool var uri = new Uri(url); var urlParameters = HttpUtility.ParseQueryString(uri.Query); foreach (var parameter in urlParameters.AllKeys) { parameters.Add(parameter, urlParameters[parameter]); } var timestamp = OAuthTools.GetTimestamp(); var nonce = OAuthTools.GetNonce(); AddAuthParameters(parameters, timestamp, nonce); var signatureBase = OAuthTools.ConcatenateRequestElements(method, url, parameters); return(OAuthTools.GetSignature( SignatureMethod, SignatureTreatment, signatureBase, ConsumerSecret, TokenSecret )); }
void AddAuthParameters(ICollection <WebPair> parameters, string timestamp, string nonce) { var authParameters = new WebPairCollection { new WebPair("oauth_consumer_key", ConsumerKey), new WebPair("oauth_nonce", nonce), new WebPair("oauth_signature_method", SignatureMethod.ToRequestValue()), new WebPair("oauth_timestamp", timestamp), new WebPair("oauth_version", Version ?? "1.0") }; if (!Token.IsNullOrBlank()) { authParameters.Add(new WebPair("oauth_token", Token)); } if (!CallbackUrl.IsNullOrBlank()) { authParameters.Add(new WebPair("oauth_callback", CallbackUrl)); } if (!Verifier.IsNullOrBlank()) { authParameters.Add(new WebPair("oauth_verifier", Verifier)); } if (!SessionHandle.IsNullOrBlank()) { authParameters.Add(new WebPair("oauth_session_handle", SessionHandle)); } foreach (var authParameter in authParameters) { parameters.Add(authParameter); } }