Beispiel #1
0
        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());
        }
Beispiel #2
0
        public Uri GenerateUri()
        {
            var builder = new UriBuilder(NormalizedRequestUrl);

            IEnumerable <QueryParameter> parameters = UriUtility.ToQueryParametersExcludingTokenSecret(QueryParameters);

            builder.Query = UriUtility.FormatQueryString(parameters);

            return(builder.Uri);
        }
Beispiel #3
0
        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);
        }