示例#1
0
    internal static OAuthWebQuery RefreshAccessTokenQuery()
    {
        var oauth = new OAuthWorkflow
        {
            AccessTokenUrl = AppSettings.AccessTokenUri,
            ConsumerKey = AppSettings.consumerKey,
            ConsumerSecret = AppSettings.consumerKeySecret,
            ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader,
            SignatureMethod = OAuthSignatureMethod.HmacSha1,
            Token = MainUtil.GetKeyValue<string>("AccessToken"),
            TokenSecret = MainUtil.GetKeyValue<string>("AccessTokenSecret"),
            SessionHandle = MainUtil.GetKeyValue<string>("SessionHandle"),
            Version = AppSettings.oAuthVersion //
        };

        var info = oauth.BuildAccessTokenInfo(WebMethod.Post);

        ////replace signature
        //info.Signature = AppSettings.consumerKeySecret + "&" + oauth.TokenSecret;
        //info.Signature = HttpUtility.UrlEncode(info.Signature);
        ////replace signature

        info.Token = HttpUtility.UrlEncode(info.Token);
    
        var sessionParameter = new WebPair("oauth_session_handle", MainUtil.GetKeyValue<string>("SessionHandle"));
        var objOAuthWebQuery = new OAuthWebQuery(info, false);
        objOAuthWebQuery.HasElevatedPermissions = true;
        objOAuthWebQuery.SilverlightUserAgentHeader = "Hammock";
        objOAuthWebQuery.Parameters.Add(sessionParameter);
        return objOAuthWebQuery;
    }
示例#2
0
    internal static OAuthWebQuery GetAccessTokenQuery(string requestToken, string RequestTokenSecret, string oAuthVerificationPin)
    {
        var oauth = new OAuthWorkflow
        {
            AccessTokenUrl = AppSettings.AccessTokenUri,
            ConsumerKey = AppSettings.consumerKey,
            ConsumerSecret = AppSettings.consumerKeySecret,
            ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader,
            SignatureMethod = OAuthSignatureMethod.HmacSha1,
            Token = HttpUtility.UrlEncode(requestToken),
            TokenSecret = RequestTokenSecret,
            Verifier = oAuthVerificationPin,
            Version = AppSettings.oAuthVersion //
        };

        var info = oauth.BuildAccessTokenInfo(WebMethod.Post);
     
        ////replace signature
        //info.Signature = AppSettings.consumerKeySecret + "&" + oauth.TokenSecret;
        //info.Signature = HttpUtility.UrlEncode(info.Signature);
        ////replace signature
        
        var objOAuthWebQuery = new OAuthWebQuery(info, false);
        objOAuthWebQuery.HasElevatedPermissions = true;
        objOAuthWebQuery.SilverlightUserAgentHeader = "Hammock";
        return objOAuthWebQuery;
    }
示例#3
0
        //internal static OAuthWebQuery GetAccessTokenQuery(string requestToken, string RequestTokenSecret, string oAuthVerificationPin)
        internal static OAuthWebQuery GetAccessTokenQuery(string requestToken, string RequestTokenSecret)
        {
            var oauth = new OAuthWorkflow
           {
               AccessTokenUrl = DailyBurnSettings.AccessTokenUri,
               ConsumerKey = DailyBurnSettings.consumerKey,
               ConsumerSecret = DailyBurnSettings.consumerKeySecret,
               ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader,
               SignatureMethod = OAuthSignatureMethod.HmacSha1,
               Token = requestToken,
               Version = DailyBurnSettings.oAuthVersion
           };

            var info = oauth.BuildAccessTokenInfo(WebMethod.Get);
            var objOAuthWebQuery = new OAuthWebQuery(info);
            objOAuthWebQuery.HasElevatedPermissions = true;
            objOAuthWebQuery.SilverlightUserAgentHeader = "Hammock";
            objOAuthWebQuery.SilverlightMethodHeader = "GET";
            return objOAuthWebQuery;
        }
示例#4
0
        internal static OAuthWebQuery GetAccessTokenQuery(string requestToken, string RequestTokenSecret, string oAuthVerificationPin)
        {
            var oauth = new OAuthWorkflow
            {
                AccessTokenUrl = AppSettings.TwitterAccessTokenUri,
                ConsumerKey = AppSettings.TwitterConsumerKey,
                ConsumerSecret = AppSettings.TwitterConsumerKeySecret,
                ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader,
                SignatureMethod = OAuthSignatureMethod.HmacSha1,
                Token = requestToken,
                Verifier = oAuthVerificationPin,
                Version = AppSettings.TwitterOAuthVersion
            };

            var info = oauth.BuildAccessTokenInfo(WebMethod.Post);
            var objOAuthWebQuery = new OAuthWebQuery(info, AppSettings.InDebug);
            objOAuthWebQuery.HasElevatedPermissions = true;
            objOAuthWebQuery.SilverlightUserAgentHeader = "Hammock";
            objOAuthWebQuery.Method = WebMethod.Get;
            //objOAuthWebQuery.SilverlightMethodHeader = "GET";
            return objOAuthWebQuery;
        }
示例#5
0
        public virtual WebQuery GetQueryFor(string url, 
                                            WebParameterCollection parameters, 
                                            IWebQueryInfo info, 
                                            WebMethod method,
                                            bool enableTrace)
        {
            OAuthWebQueryInfo oauth;

            var workflow = new OAuthWorkflow
            {
                ConsumerKey = ConsumerKey,
                ConsumerSecret = ConsumerSecret,
                ParameterHandling = ParameterHandling,
                SignatureMethod = SignatureMethod,
                SignatureTreatment = SignatureTreatment,
                CallbackUrl = CallbackUrl,
                ClientPassword = ClientPassword,
                ClientUsername = ClientUsername,
                Verifier = Verifier,
                Token = Token,
                TokenSecret = TokenSecret,
                Version = Version ?? "1.0",
                SessionHandle = SessionHandle
            };

            switch (Type)
            {
                case OAuthType.RequestToken:
                    workflow.RequestTokenUrl = url;
                    oauth = workflow.BuildRequestTokenInfo(method, parameters);
                    break;
                case OAuthType.AccessToken:
                    workflow.AccessTokenUrl = url;
                    oauth = workflow.BuildAccessTokenInfo(method, parameters);
                    break;
                case OAuthType.ClientAuthentication:
                    method = WebMethod.Post;
                    workflow.AccessTokenUrl = url;
                    oauth = workflow.BuildClientAuthAccessTokenInfo(method, parameters);
                    break;
                case OAuthType.ProtectedResource:
                    oauth = workflow.BuildProtectedResourceInfo(method, parameters, url);
                    oauth.FirstUse = true;
                    break;
                default:
                    throw new ArgumentOutOfRangeException();
            }

            return new OAuthWebQuery(oauth, enableTrace);
        }