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="); }