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 OAuthCallback(string oauth_token, string oauth_verifier) { RequestTokenModel model = new RequestTokenModel(); RequestTokenModel sessionModel = Session["endpoints"] as RequestTokenModel; model = sessionModel; OAuthKeyConfiguration oauthConfiguration = OAuthKeyConfiguration.GetInstance(); if (string.IsNullOrEmpty(oauth_verifier)) { throw new Exception("Expected a non-empty verifier value"); } OAuthClient oauthClient = new OAuthClient(sessionModel.EndpointModel, TestSite.MvcApplication.GetTokenManager(sessionModel.ConsumerKey, sessionModel.ConsumerSecret)); if (oauthClient != null) { IOAuthToken oauthToken = oauthClient.ExchangeRequestTokenForAccessToken(oauth_verifier); if (oauthToken != null) { model.Token = oauthToken.Token; model.Secret = oauthToken.Secret; } } return(View(model)); }
public static void RegisterOAuthConfig() { EndpointConfiguration endpointConfiguration = EndpointConfiguration.GetInstance("Vistaprint/Digital/MonolithEndpoints"); //EndpointConfiguration.GetInstance("Vistaprint/Digital/OpenAuthOAuthEndpoints"); OAuthKeyConfiguration oauthConfiguration = OAuthKeyConfiguration.GetInstance("Vistaprint/Digital/MonolithKeys"); //OAuthKeyConfiguration.GetInstance("Vistaprint/Digital/OpenAuthOAuthKeys"); OAuthWebSecurity.RegisterClient(new VistaprintOAuthClient(endpointConfiguration, oauthConfiguration.ConsumerKey, oauthConfiguration.ConsumerSecret)); }
public ActionResult OAuthCallback(string oauth_token, string oauth_verifier) { RequestTokenModel model = new RequestTokenModel(); string requestTokenString = Request[Parameters.OAuth_Token]; string verifier = Request[Parameters.OAuth_Verifier]; RequestTokenModel storedRequestTokenModel = (RequestTokenModel)Session[requestTokenString]; OAuthKeyConfiguration oauthConfiguration = OAuthKeyConfiguration.GetInstance(); AlwaysMoveForward.OAuth.Client.RestSharp.OAuthClient oauthClient = new AlwaysMoveForward.OAuth.Client.RestSharp.OAuthClient("", storedRequestTokenModel.ConsumerKey, storedRequestTokenModel.ConsumerSecret, storedRequestTokenModel.EndpointModel); if (string.IsNullOrEmpty(verifier)) { throw new Exception("Expected a non-empty verifier value"); } IOAuthToken accessToken; try { accessToken = oauthClient.ExchangeRequestTokenForAccessToken(storedRequestTokenModel, verifier); model.Token = accessToken.Token; model.Secret = accessToken.Secret; } catch (OAuthException authEx) { Session["problem"] = authEx.Report; Response.Redirect("AccessDenied.aspx"); } return(View(model)); }
private ConsumerKeyModel GenerateConsumerKeyModel() { OAuthKeyConfiguration oauthConfiguration = OAuthKeyConfiguration.GetInstance(); ConsumerKeyModel model = new ConsumerKeyModel(); model.ConsumerKey = oauthConfiguration.ConsumerKey; model.ConsumerSecret = oauthConfiguration.ConsumerSecret; model.CallbackUrl = this.Request.Url.Scheme + "://" + this.Request.Url.Authority + "/OpenAuth/OAuthCallback"; model.EndpointModel = this.GenerateEndPointModel(); return(model); }
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)); }
public ActionResult Index() { OAuthKeyConfiguration oauthConfiguration = OAuthKeyConfiguration.GetInstance(); EndpointConfiguration endpointConfiguration = EndpointConfiguration.GetInstance(); ConsumerKeyModel model = new ConsumerKeyModel(); model.ConsumerKey = oauthConfiguration.ConsumerKey; model.ConsumerSecret = oauthConfiguration.ConsumerSecret; model.CallbackUrl = this.Request.Url.Scheme + "://" + this.Request.Url.Authority + "/DevDefined/OAuthCallback"; EndpointModel endpointModel = new EndpointModel(); endpointModel.ServiceUri = endpointConfiguration.ServiceUri; endpointModel.RequestTokenUri = endpointConfiguration.RequestTokenUri; endpointModel.AuthorizationUri = endpointConfiguration.AuthorizationUri; endpointModel.AccessTokenUri = endpointConfiguration.AccessTokenUri; model.EndpointModel = endpointModel; return(View(model)); }