Exemplo n.º 1
0
        public void SignOn(string status, int state)
        {
            var param = new Dictionary <string, string>();

            param["realm"] = "yahooapis.com";
            param["oauth_consumer_key"]     = FetchReqData.ConsummerKey;
            param["oauth_nonce"]            = OAuthUtil.GenerateNonce();
            param["oauth_signature_method"] = "PLAINTEXT";
            param["oauth_timestamp"]        = OAuthUtil.GenerateTimeStamp();
            param["oauth_token"]            = FetchReqData.OauthToken;
            param["oauth_version"]          = "1.0";
            param["oauth_signature"]        = FetchReqData.ConsummerSecret + "%26" + FetchReqData.OauthTokenSecret;
            OauthHeader = MakeRequestHeader(param);

            var url = new StringBuilder(CommonConst.URL_YM_SESSION);

            url.Append("?notifyServerToken=1");

            WebRequest request = WebRequest.Create(url.ToString());

            request.ContentType = "application/json; charset=utf-8";
            request.Headers.Add("Authorization", OauthHeader);

            var data   = MakeJsonData(status, state);
            var result = HttpUtil.SendPostReq(request, data, true);
            var temp   = StringUtil.Split(result, "<QuangPB>");

            Cookie = GetCookie(temp[0].Trim());
            GetOtherInfoOfSignOn(temp[1].Trim());
        }
Exemplo n.º 2
0
        public void GenerateTimeStampTest()
        {
            // Generate a Timestamp, and fetch the creation time of the timestamp for later comparison
            var util = new OAuthUtil();
            var srcTime = DateTime.UtcNow;
            string timestamp = util.GenerateTimeStamp();

            // Ensure that the generated timestamp is a whole number
            long unixTime;
            Assert.That(long.TryParse(timestamp, out unixTime), Is.True);

            // Convert the UNIX timestamp to a .NET DateTime
            var parsedTime = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(unixTime);
            TimeSpan timeDifference = parsedTime - srcTime;

            // Check whether the timestamp represents the current time
            Assert.That((long)Math.Abs(timeDifference.TotalSeconds), Is.EqualTo(0));
        }
Exemplo n.º 3
0
        public void GenerateTimeStampTest()
        {
            // Generate a Timestamp, and fetch the creation time of the timestamp for later comparison
            var    util      = new OAuthUtil();
            var    srcTime   = DateTime.UtcNow;
            string timestamp = util.GenerateTimeStamp();

            // Ensure that the generated timestamp is a whole number
            long unixTime;

            Assert.That(long.TryParse(timestamp, out unixTime), Is.True);

            // Convert the UNIX timestamp to a .NET DateTime
            var      parsedTime     = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(unixTime);
            TimeSpan timeDifference = parsedTime - srcTime;

            // Check whether the timestamp represents the current time
            Assert.That((long)Math.Abs(timeDifference.TotalSeconds), Is.EqualTo(0));
        }
        public void FetchAccessToken()
        {
            var param = new Dictionary <string, string>();

            param["oauth_consumer_key"]     = ConsummerKey;
            param["oauth_nonce"]            = OAuthUtil.GenerateNonce();
            param["oauth_signature"]        = HttpUtility.UrlEncode(ConsummerSecret + "&");
            param["oauth_signature_method"] = "PLAINTEXT";
            param["oauth_timestamp"]        = OAuthUtil.GenerateTimeStamp();
            param["oauth_token"]            = ReqestToken;
            param["oauth_version"]          = "1.0";

            var url = new StringBuilder(CommonConst.URL_OAUTH_ACCESS_TOKEN);

            url.Append(HttpUtil.ToQueryString(param, true, ""));

            WebRequest request = WebRequest.Create(url.ToString());
            var        result  = HttpUtil.SendGetReq(request, false);
            var        tmp     = StringUtil.Split(result, "=|&");

            OauthToken       = tmp[1].Trim();
            OauthTokenSecret = tmp[3].Trim();
        }
        public void FetchCrumb()
        {
            var param = new Dictionary <string, string>();

            param["oauth_consumer_key"]     = ConsummerKey;
            param["oauth_nonce"]            = OAuthUtil.GenerateNonce();
            param["oauth_signature"]        = ConsummerSecret + "%26" + OauthTokenSecret;
            param["oauth_signature_method"] = "PLAINTEXT";
            param["oauth_timestamp"]        = OAuthUtil.GenerateTimeStamp();
            param["oauth_token"]            = OauthToken;
            param["oauth_version"]          = "1.0";

            var url = new StringBuilder(CommonConst.URL_YM_SESSION);

            url.Append(HttpUtil.ToQueryString(param, true, ""));

            WebRequest request = WebRequest.Create(url.ToString());

            request.ContentType = "application/json; charset=utf-8";

            var result = HttpUtil.SendGetReq(request, false);

            Crumb = GetCrumb(result);
        }