Exemple #1
0
        // this performs our main OAuth authentication, performing
        // the request token retrieval, authorization, and exchange
        // for an access token
        public IToken GetAccessToken()
        {
            var consumerContext = new OAuthConsumerContext()
            {
                ConsumerKey = "anyone"
            };

            var rest_client = new JsonServiceClient(BaseUri);
            var url         = new Rainy.WebService.ApiRequest().ToUrl("GET");
            var api_ref     = rest_client.Get <ApiResponse> (url);

            var session = new OAuthSession(consumerContext, api_ref.OAuthRequestTokenUrl,
                                           api_ref.OAuthAuthorizeUrl, api_ref.OAuthAccessTokenUrl);

            IToken request_token = session.GetRequestToken();

            // we dont need a callback url
            string link = session.GetUserAuthorizationUrlForToken(request_token, "http://example.com/");

            // visit the link to perform the authorization (no interaction needed)
            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(link);

            // disallow auto redirection, since we are interested in the location header only
            req.AllowAutoRedirect = false;

            // the oauth_verifier we need, is part of the querystring in the (redirection)
            // 'Location:' header
            string location   = ((HttpWebResponse)req.GetResponse()).Headers ["Location"];
            var    query      = string.Join("", location.Split('?').Skip(1));
            var    oauth_data = System.Web.HttpUtility.ParseQueryString(query);

            IToken access_token = session.ExchangeRequestTokenForAccessToken(request_token, oauth_data ["oauth_verifier"]);

            return(access_token);
        }
Exemple #2
0
        public ApiResponse GetRootApiRef()
        {
            var rest_client = new JsonServiceClient();
            var url         = new Rainy.WebService.ApiRequest().ToUrl("GET");

            return(rest_client.Get <ApiResponse> (BaseUri + url));
        }
Exemple #3
0
        public ApiResponse GetRootApiRef()
        {
            var rest_client = new JsonServiceClient ();
            var url = new Rainy.WebService.ApiRequest ().ToUrl("GET");

            return rest_client.Get<ApiResponse> (BaseUri + url);
        }
Exemple #4
-1
        // this performs our main OAuth authentication, performing
        // the request token retrieval, authorization, and exchange
        // for an access token
        public IToken GetAccessToken()
        {
            var consumerContext = new OAuthConsumerContext () {
                ConsumerKey = "anyone"
            };

            var rest_client = new JsonServiceClient (BaseUri);
            var url = new Rainy.WebService.ApiRequest ().ToUrl("GET");
            var api_ref = rest_client.Get<ApiResponse> (url);

            var session = new OAuthSession (consumerContext, api_ref.OAuthRequestTokenUrl,
                                            api_ref.OAuthAuthorizeUrl, api_ref.OAuthAccessTokenUrl);

            IToken request_token = session.GetRequestToken ();

            // we dont need a callback url
            string link = session.GetUserAuthorizationUrlForToken (request_token, "http://example.com/");

            // visit the link to perform the authorization (no interaction needed)
            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create (link);
            // disallow auto redirection, since we are interested in the location header only
            req.AllowAutoRedirect = false;

            // the oauth_verifier we need, is part of the querystring in the (redirection)
            // 'Location:' header
            string location = ((HttpWebResponse)req.GetResponse ()).Headers ["Location"];
            var query = string.Join ("", location.Split ('?').Skip (1));
            var oauth_data = System.Web.HttpUtility.ParseQueryString (query);

            IToken access_token = session.ExchangeRequestTokenForAccessToken (request_token, oauth_data ["oauth_verifier"]);

            return access_token;
        }