Example #1
0
        public ActionResult MakeOAuthRequest(string accessToken, string accessTokenSecret, string endpointUri, string endpointAction)
        {
            OAuthProxyResponseModel retVal = new OAuthProxyResponseModel();

            OAuthKeyConfiguration oauthConfiguration    = OAuthKeyConfiguration.GetInstance();
            EndpointConfiguration endpointConfiguration = EndpointConfiguration.GetInstance();
            EndpointModel         endpointModel         = new EndpointModel();

            endpointModel.ServiceUri       = endpointUri;
            endpointModel.RequestTokenUri  = endpointConfiguration.RequestTokenUri;
            endpointModel.AuthorizationUri = endpointConfiguration.AuthorizationUri;
            endpointModel.AccessTokenUri   = endpointConfiguration.AccessTokenUri;

            OAuthClient oauthClient = new OAuthClient(endpointModel, null);

            if (oauthClient != null)
            {
                WebConsumer webConsumer            = oauthClient.CreateConsumer(TestSite.MvcApplication.GetTokenManager(oauthConfiguration.ConsumerKey, oauthConfiguration.ConsumerSecret));
                System.Net.HttpWebRequest oAuthReq = webConsumer.PrepareAuthorizedRequest(new DotNetOpenAuth.Messaging.MessageReceivingEndpoint(endpointUri + endpointAction, DotNetOpenAuth.Messaging.HttpDeliveryMethods.GetRequest | DotNetOpenAuth.Messaging.HttpDeliveryMethods.AuthorizationHeaderRequest), accessToken);

                try
                {
                    // No more ProtocolViolationException!
                    using (HttpWebResponse response = (HttpWebResponse)oAuthReq.GetResponse())
                    {
                        // Get the stream containing content returned by the server.
                        using (Stream dataStream = response.GetResponseStream())
                        {
                            // Open the stream using a StreamReader for easy access.
                            StreamReader reader = new StreamReader(dataStream);

                            // Read the content.
                            retVal.Response = reader.ReadToEnd();
                        }
                    }
                }
                catch (WebException we)
                {
                    retVal.Response = we.Message;
                }
            }

            return(View("MakeOAuthRequest", retVal));
        }