Example #1
0
        private List <BaseStringParameter> GetBaseStringParameters()
        {
            // As per RFC5849, parameters source are:
            // 1. The query component of the HTTP request URI as defined by [RFC3986], Section 3.4.
            // 2. The OAuth HTTP "Authorization" header field (Section 3.5.1) if present,
            //    excluding the "realm" parameter if present.
            // 3. Under some conditions, the HTTP request entity-body.

            List <BaseStringParameter> parameters = new List <BaseStringParameter>();

            parameters.Add(new BaseStringParameter(AuthorizationHeaderFields.VERSION, OAuthVersion.VERSION));
            parameters.Add(new BaseStringParameter(AuthorizationHeaderFields.NONCE, nonce.ToString()));
            parameters.Add(new BaseStringParameter(AuthorizationHeaderFields.TIMESTAMP, timestamp.ToString()));
            parameters.Add(new BaseStringParameter(AuthorizationHeaderFields.CONSUMER_KEY, credentials.Identifier));

            if (!String.IsNullOrEmpty(callback))
            {
                parameters.Add(new BaseStringParameter(AuthorizationHeaderFields.CALLBACK, callback));
            }

            if (!String.IsNullOrEmpty(verifier))
            {
                parameters.Add(new BaseStringParameter(AuthorizationHeaderFields.VERIFIER, verifier));
            }

            if (token != null && !String.IsNullOrEmpty(token.Value))
            {
                parameters.Add(new BaseStringParameter(AuthorizationHeaderFields.TOKEN, token.Value));
            }

            parameters.AddRange(BaseStringParametersFromQueryString());
            parameters.Add(SignatureMethodParameter());

            return(parameters);
        }
Example #2
0
        public override string ToString()
        {
            AuthorizationHeaderBuilder header = new AuthorizationHeaderBuilder();

            header.Append("OAuth ");
            header.AppendField(AuthorizationHeaderFields.REALM);
            header.AppendField(AuthorizationHeaderFields.VERSION, OAuthVersion.VERSION);
            header.AppendField(AuthorizationHeaderFields.CONSUMER_KEY, credentials.Identifier);
            header.AppendField(AuthorizationHeaderFields.SIGNATURE_METHOD, signature.Method);

            if (token != null)
            {
                header.AppendField(AuthorizationHeaderFields.TOKEN, token.Value);
            }

            if (!String.IsNullOrEmpty(verifier))
            {
                header.AppendField(AuthorizationHeaderFields.VERIFIER, verifier);
            }

            if (!String.IsNullOrEmpty(callback))
            {
                header.AppendField(AuthorizationHeaderFields.CALLBACK, callback);
            }

            header.AppendField(AuthorizationHeaderFields.NONCE, nonce.ToString());
            header.AppendField(AuthorizationHeaderFields.TIMESTAMP, timestamp.ToString());
            header.AppendField(AuthorizationHeaderFields.SIGNATURE, signature.Value);

            return(header.ToString());
        }