private void SetupOAuth(RestRequest request, OAuth1Token requestToken, string verifier) { string nonce = GenerateNonce(); string timeStamp = GenerateTimeStamp(); QueryParameterCollection parameters = new QueryParameterCollection(request.Parameters); OAuth1RestRequest authRestRequest = request as OAuth1RestRequest; if (authRestRequest != null) { parameters.AddRange(authRestRequest.OAuthValues.Select(x => new QueryParameter(x.Key, x.Value))); authRestRequest.OAuthValues.Clear(); } if (string.IsNullOrEmpty(requestToken.Token)) { throw new ArgumentException("Null Request Token"); } if (string.IsNullOrEmpty(requestToken.Secret)) { throw new ArgumentException("Null Request Token Secret."); } if (string.IsNullOrEmpty(verifier)) { throw new ArgumentException("Null Auth Verifier."); } var signatureBase = GenerateSignatureBase( request.RequestUrl, this.AppKey, requestToken.Token, request.Method.ToString(), timeStamp, nonce, verifier, parameters); // obtain a signature and add it to oauth header parameters var signature = GenerateSignature(this.AppSecret, requestToken.Secret, signatureBase); parameters.Add(RestConstants.OAuthSignature, signature); string authHeader = GenerateAuthorizationHeader(request.RequestUrl, parameters); request.Headers["Authorization"] = authHeader; }
private void SetupOAuth(RestRequest request, string callbackUrl) { string nonce = GenerateNonce(); string timeStamp = GenerateTimeStamp(); QueryParameterCollection parameters = new QueryParameterCollection(request.Parameters); OAuth1RestRequest authRestRequest = request as OAuth1RestRequest; if (authRestRequest != null) { parameters.AddRange(authRestRequest.OAuthValues.Select(x => new QueryParameter(x.Key, x.Value))); authRestRequest.OAuthValues.Clear(); } if (!string.IsNullOrWhiteSpace(callbackUrl)) { parameters.Add(new QueryParameter(RestConstants.OAuthCallback, callbackUrl)); } var signatureBase = GenerateSignatureBase( request.RequestUrl, this.AppKey, string.Empty, request.Method.ToString().ToUpperInvariant(), timeStamp, nonce, string.Empty, parameters); // obtain a signature and add it to oauth header parameters var signature = GenerateSignature(this.AppSecret, null, signatureBase); parameters.Add(RestConstants.OAuthSignature, signature); string authHeader = GenerateAuthorizationHeader(request.RequestUrl, parameters); request.Headers["Authorization"] = authHeader; }