예제 #1
0
        // A OAuth handler when accessToken and accessTokenSecrets are known
        private static HttpMessageHandler OAuthHandlerWithExistingToken(String requestTokenURL,
                                                                        String authorizationTokenURL,
                                                                        String accessTokenURL,
                                                                        String consumerKey,
                                                                        String consumerSecret,
                                                                        String accessToken,
                                                                        String accessTokenSecret)
        {
            ServiceProviderDescription serviceDescription = new ServiceProviderDescription();

            serviceDescription.AccessTokenEndpoint       = new MessageReceivingEndpoint(new Uri(accessTokenURL), HttpDeliveryMethods.PostRequest);
            serviceDescription.ProtocolVersion           = ProtocolVersion.V10a;
            serviceDescription.RequestTokenEndpoint      = new MessageReceivingEndpoint(new Uri(requestTokenURL), HttpDeliveryMethods.PostRequest);
            serviceDescription.TamperProtectionElements  = new ITamperProtectionChannelBindingElement[] { new HmacSha1SigningBindingElement() };
            serviceDescription.UserAuthorizationEndpoint = new MessageReceivingEndpoint(new Uri(authorizationTokenURL), HttpDeliveryMethods.PostRequest);

            TokenManager tokenManager = new TokenManager(consumerKey, consumerSecret);

            // Here we add the known token info
            tokenManager.AddKnownAccessTokens(accessToken, accessTokenSecret);

            WebConsumer consumer = new WebConsumer(serviceDescription, tokenManager);

            DesktopConsumer desktopConsumer = new DesktopConsumer(serviceDescription, tokenManager);

            return(consumer.CreateAuthorizingHandler(accessToken, CreateSSLHandler()));
        }