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; if (!endpointUri.EndsWith(@"/") && !endpointAction.StartsWith(@"/")) { endpointUri += "/"; } DefaultOAuthToken oauthToken = new DefaultOAuthToken(); oauthToken.Token = accessToken; oauthToken.Secret = accessTokenSecret; WebRequest request = HttpWebRequest.Create(endpointUri + endpointAction); request.Method = "GET"; request.ContentType = "application/json"; OAuthClient oauthClient = new OAuthClient(oauthConfiguration.ConsumerKey, oauthConfiguration.ConsumerSecret, endpointModel); retVal.Response = oauthClient.ExecuteAuthorizedRequest(endpointUri + endpointAction, "application/json", string.Empty, oauthToken); return(View("MakeOAuthRequest", retVal)); }
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)); }
public ActionResult MakeOAuthRequest(string accessToken, string accessTokenSecret, string endpointUri, string endpointAction) { OAuthProxyResponseModel retVal = new OAuthProxyResponseModel(); OAuthKeyConfiguration oauthConfiguration = OAuthKeyConfiguration.GetInstance(); RestClient restClient = new RestClient(endpointUri); restClient.Authenticator = OAuth1Authenticator.ForProtectedResource(oauthConfiguration.ConsumerKey, oauthConfiguration.ConsumerSecret, accessToken, accessTokenSecret); string[] parameterItems = null; if (endpointAction.Contains("?")) { string[] actionElements = endpointAction.Split('?'); parameterItems = actionElements[1].Split('&'); endpointAction = actionElements[0]; } RestRequest request = new RestRequest(endpointAction, Method.GET); request.RequestFormat = DataFormat.Json; if (parameterItems != null) { for (int i = 0; i < parameterItems.Length; i++) { string[] parameterElements = parameterItems[i].Split('='); request.AddParameter(parameterElements[0], parameterElements[1]); } } IRestResponse response = restClient.Execute(request); if (response != null) { retVal.Response = response.Content; } return(View("MakeOAuthRequest", retVal)); }