Exemplo n.º 1
0
        public string CreateSignature(X509Certificate2 certificate, IToken token, Uri uri, string verb, string verifier = null)
        {
            var oAuthParameters = new OAuthParameters(
                new ConsumerKey(token.ConsumerKey),
                new TokenKey(token.ConsumerKey),
                "RSA-SHA1",
                new DefaultTimestampSequence(),
                new DefaultNonceSequence(),
                string.Empty,
                "1.0",
                verifier,
                token.Session);

            var signatureBaseString =
                new SignatureBaseString(
                    new Request
            {
                Url  = uri,
                Verb = verb
            },
                    oAuthParameters);

            var signature = new RsaSha1(certificate).Sign(signatureBaseString);

            oAuthParameters.SetSignature(signature);

            return(new AuthorizationHeader(oAuthParameters, string.Empty).Value);;
        }
Exemplo n.º 2
0
        public string CreateSignature(IToken token, Uri uri, string verb, string verifier = null, string callback = null)
        {
            var oAuthParameters = new OAuthParameters(
                new ConsumerKey(token.ConsumerKey),
                new TokenKey(token.TokenKey),
                "HMAC-SHA1",
                new DefaultTimestampSequence(),
                new DefaultNonceSequence(),
                string.Empty,
                "1.0",
                verifier,
                token.Session,
                callback);

            var signatureBaseString =
                new SignatureBaseString(
                    new Request
            {
                Url  = uri,
                Verb = verb
            },
                    oAuthParameters);

            var signature = new HmacSha1().Sign(signatureBaseString, token.ConsumerSecret, token.TokenSecret);

            oAuthParameters.SetSignature(signature);

            return(new AuthorizationHeader(oAuthParameters, string.Empty).Value);
        }
Exemplo n.º 3
0
        public Fixture Then_we_can_connect()
        {
            var oAuthParameters = new OAuthParameters(
                _consumer.ConsumerKey,
                new TokenKey(_consumer.ConsumerKey.Value),
                "RSA-SHA1",
                new DefaultTimestampSequence(),
                new DefaultNonceSequence(),
                string.Empty,
                "1.0"
                );

            var earl = new Uri("https://api.xero.com/api.xro/2.0/Organisation");

            var signatureBaseString =
                new SignatureBaseString(
                    new Request
            {
                Url  = earl,
                Verb = "GET"
            },
                    oAuthParameters
                    );

            var signature = new RsaSha1(_cert).Sign(signatureBaseString);

            oAuthParameters.SetSignature(signature);

            var header = new AuthorizationHeader(oAuthParameters, string.Empty);

            var req = (HttpWebRequest)WebRequest.Create(earl);

            req.Headers.Add("Authorization", header.Value);

            var response = TInternet.Get(req);
            const HttpStatusCode expected = HttpStatusCode.OK;
            var actual = response.StatusCode;

            return(new YesNoFixture(actual == expected, "Expected [" + expected + "]. Got [" + actual + "]. And here is the body: " + response.Body, 2));
        }
Exemplo n.º 4
0
        public Fixture Then_we_can_connect()
        {
            var oAuthParameters = new OAuthParameters(
                _consumer.ConsumerKey,
                new TokenKey(string.Empty),
                "HMAC-SHA1",
                new DefaultTimestampSequence(),
                new DefaultNonceSequence(),
                string.Empty,
                "1.0"
                );

            var signatureBaseString =
                new SignatureBaseString(
                    new Request {
                Url  = new Uri("https://api.twitter.com/oauth/request_token"),
                Verb = "GET"
            },
                    oAuthParameters
                    );

            var signature = new HmacSha1().Sign(signatureBaseString.Value, _consumer.Secret, null);

            oAuthParameters.SetSignature(signature);

            var header = new AuthorizationHeader(oAuthParameters, string.Empty);

            var req = (HttpWebRequest)WebRequest.Create("https://api.twitter.com/oauth/request_token");

            req.Headers.Add("Authorization", header.Value);

            var response = TInternet.Get(req);
            const HttpStatusCode expected = HttpStatusCode.OK;
            var actual = response.StatusCode;

            return(new YesNoFixture(actual == expected, "Expected [" + expected + "]. Got [" + actual + "]", 2));
        }
 public static bool Matches(this SignatureBaseString self, string pattern)
 {
     return(Regex.IsMatch(self.Value, pattern));
 }
 public static bool Contains(this SignatureBaseString self, string pattern)
 {
     return(self.Value.Contains(pattern));
 }