public NegotiationToken GetToken() { WebRequest request = WebRequest.Create(requestUri); request.Method = "POST"; Nonce nonce = Nonce.Generate(); TimeStamp timestamp = TimeStamp.Generate(); BaseString baseString = new BaseString(request.RequestUri, request.Method, nonce, timestamp, credentials, HmacSha1Signature.MethodName); Signature signature = new HmacSha1Signature(baseString.ToString(), credentials); AuthorizationHeader header = new AuthorizationHeader(credentials, nonce, timestamp, signature); request.Headers.Add(HttpRequestHeader.Authorization, header.ToString()); using (WebResponse res = request.GetResponse()) using (Stream s = res.GetResponseStream()) using (StreamReader sr = new StreamReader(s)) { NameValueCollection response = HttpUtility.ParseQueryString(sr.ReadToEnd()); return new NegotiationToken(response["oauth_token"], response["oauth_token_secret"]); } }
public void ConvertingAuthorizationHeaderToString() { AuthorizationHeader header = new AuthorizationHeader(credentials, nonce, timestamp, signature); string headerContent = header.ToString(); Assert.That(headerContent, Is.StringStarting(OAUTH_REALM)); Assert.That(headerContent, Contains.Substring(OAUTH_CONSUMER_KEY)); Assert.That(headerContent, Contains.Substring(OAUTH_SIGNATURE_METHOD)); Assert.That(headerContent, Contains.Substring(OAUTH_NONCE)); Assert.That(headerContent, Contains.Substring(OAUTH_TIMESTAMP)); Assert.That(headerContent, Contains.Substring(OAUTH_SIGNATURE)); }
public void ConvertingAuthorizationHeaderWithAccessTokenAndVerifierCodeToString() { AuthorizationHeader header = new AuthorizationHeader(credentials, nonce, timestamp, signature); header.VerifierCode = VERIFIER_CODE; header.Token = token; string headerContent = header.ToString(); Assert.That(headerContent, Is.StringStarting(OAUTH_REALM)); Assert.That(headerContent, Contains.Substring(OAUTH_CONSUMER_KEY)); Assert.That(headerContent, Contains.Substring(OAUTH_SIGNATURE_METHOD)); Assert.That(headerContent, Contains.Substring(OAUTH_NONCE)); Assert.That(headerContent, Contains.Substring(OAUTH_TIMESTAMP)); Assert.That(headerContent, Contains.Substring(OAUTH_SIGNATURE)); Assert.That(headerContent, Contains.Substring(OAUTH_TOKEN)); Assert.That(headerContent, Contains.Substring(OAUTH_VERIFIER)); }
private void AddAuthorizationHeaderToRequest(WebRequest request, AuthorizationHeader header) { request.Headers.Add(HttpRequestHeader.Authorization, header.ToString()); }