Ejemplo n.º 1
0
        private string GetNewSignatureXAuth(WebParameterCollection parameters)
        {
            var timestamp = OAuthTools.GetTimestamp();

            var nonce = OAuthTools.GetNonce();

            AddXAuthParameters(parameters, timestamp, nonce);

            var signatureBase = OAuthTools.ConcatenateRequestElements(this.Method.ToUpperInvariant(), this.RequestUrl, parameters);

            var signature = OAuthTools.GetSignature(this.SignatureMethod, this.SignatureTreatment, signatureBase, this.ConsumerSecret, this.TokenSecret);

            return(signature);
        }
Ejemplo n.º 2
0
        private string WriteAuthorizationHeader(WebParameterCollection parameters)
        {
            var sb = new StringBuilder("OAuth ");

            if (!string.IsNullOrWhiteSpace(this.Realm))
            {
#pragma warning disable IDE0058 // Expression value is never used
                sb.AppendFormat("realm=\"{0}\",", OAuthTools.UrlEncodeRelaxed(this.Realm));
#pragma warning restore IDE0058 // Expression value is never used
            }

            parameters.Sort((l, r) => l.Name.CompareTo(r.Name));

            if (this.Type == OAuthRequestType.ProtectedResource)
            {
                foreach (var parameter in parameters.Where(parameter =>
                                                           !string.IsNullOrWhiteSpace(parameter.Name) &&
                                                           !string.IsNullOrWhiteSpace(parameter.Value) &&
                                                           (parameter.Name.StartsWith("oauth_") || parameter.Name.StartsWith("x_auth_")) || parameter.Name == "oauth_token" && parameter.Value != null))
                {
#pragma warning disable IDE0058 // Expression value is never used
                    sb.AppendFormat("{0}=\"{1}\",", parameter.Name, parameter.Value);
#pragma warning restore IDE0058 // Expression value is never used
                }
            }
            else
            {
                foreach (var parameter in parameters.Where(parameter =>
                                                           !string.IsNullOrWhiteSpace(parameter.Name) &&
                                                           !string.IsNullOrWhiteSpace(parameter.Value) &&
                                                           (parameter.Name.StartsWith("oauth_") || parameter.Name.StartsWith("x_auth_"))))
                {
#pragma warning disable IDE0058 // Expression value is never used
                    sb.AppendFormat("{0}=\"{1}\",", parameter.Name, parameter.Value);
#pragma warning restore IDE0058 // Expression value is never used
                }
            }

#pragma warning disable IDE0058 // Expression value is never used
            sb.Remove(sb.Length - 1, 1);
#pragma warning restore IDE0058 // Expression value is never used

            var authorization = sb.ToString();
            return(authorization);
        }