Ejemplo n.º 1
0
        private static HttpWebRequest GetRequestTokenRequest(IAuthenticationContext authenticationContext)
        {
            var requestParameters = new RequestTokenRequestParameters(
                authenticationContext, "http://localhost/sign-in-with-twitter/");

            //RequestParameters requestParameters = new TimelineRequestParameters(authenticationContext);
            //requestParameters = new TestRequestParameters(authenticationContext);
            //requestParameters.CommonParameters = GetTestRequestParams();

            return(GetWebRequest(authenticationContext, requestParameters));
        }
        public void ValidateRequestTokenOAuthSignature()
        {
            var authenticationContext = new AuthenticationContext();

            // SUT = System Under Test
            var sut = new OAuthSignatureBuilder(authenticationContext);

            RequestParameters requestParameters = new RequestTokenRequestParameters(authenticationContext, "oob");

            requestParameters.OAuthNonce     = "e0d92fb7d5264baf85321de413176e9d";
            requestParameters.OAuthTimestamp = "1440899892";

            string       baseString         = sut.GetSignatureBaseString(requestParameters);
            const string expectedBaseString = "POST&https%3A%2F%2Fapi.twitter.com%2Foauth%2Frequest_token&oauth_callback%3Doob%26oauth_consumer_key%3DG572rfcAFGznOnMZ2DDgCaBJV%26oauth_nonce%3De0d92fb7d5264baf85321de413176e9d%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1440899892%26oauth_version%3D1.0";

            Assert.Equal(expectedBaseString, baseString);

            string oauthSignature = sut.CreateSignature(requestParameters);

            // Second paramter from Twitter documentation: https://dev.twitter.com/oauth/overview/creating-signatures
            Assert.Equal(oauthSignature, "NIkCr9R68INkZ87vt9D3N6Gb8BY=");
        }