Exemple #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;

            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));
        }
Exemple #2
0
        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));
        }
Exemple #5
0
        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);
        }
Exemple #6
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));
        }
        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));
        }
Exemple #8
0
        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));
        }