Exemple #1
0
        private void luckyUser_Button_Click(object sender, RoutedEventArgs e)
        {
            ChooseUserWindow window = new ChooseUserWindow(this);

            if (window.ShowDialog() == true)
            {
                luckyUser = window.Token;
                luckyUserName_Label.Content = luckyUser.UserName;
            }
        }
Exemple #2
0
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     OauthToken.GetOauthTokens((result, token) => {
         Dispatcher.Invoke(() => {
             if (result == 1)
             {
                 oauthToken   = token;
                 DialogResult = true;
                 Close();
             }
         });
     });
 }
Exemple #3
0
        private void refresh()
        {
            tokenList.Items.Clear();
            List <string> list = OauthToken.Load();

            foreach (string s in list)
            {
                ListBoxItem item = new ListBoxItem();
                item.Content           = s;
                item.MouseDoubleClick += Item_MouseDoubleClick;
                tokenList.Items.Add(item);
            }
        }
Exemple #4
0
        public static void GetOauthTokens(Action <int, OauthToken> onResult)
        {
            if (FiddlerApplication.IsStarted())
            {
                onResult(0, null);
                return;
            }

            FiddlerApplication.Startup(0, FiddlerCoreStartupFlags.Default);
            Proxy oSecureEndpoint = FiddlerApplication.CreateProxyEndpoint(0, true, "localhost");

            SessionStateHandler handler = null;

            handler = (Session oS) => {
                if (oS.fullUrl.StartsWith("https://restapi.ele.me/marketing/promotion/weixin/") && oS.RequestMethod == "POST")
                {
                    OauthToken token = new OauthToken();
                    token.Url         = oS.fullUrl;
                    token.RequestBody = jsSerializer.Deserialize <dynamic>(oS.GetRequestBodyAsString());
                    token.UserName    = token.RequestBody["weixin_username"];

                    FiddlerApplication.BeforeRequest -= handler;
                    if (null != oSecureEndpoint)
                    {
                        oSecureEndpoint.Dispose();
                    }
                    FiddlerApplication.Shutdown();

                    onResult(1, token);
                }
                else if (oS.fullUrl.StartsWith("http://close.local"))
                {
                    FiddlerApplication.BeforeRequest -= handler;
                    if (null != oSecureEndpoint)
                    {
                        oSecureEndpoint.Dispose();
                    }
                    FiddlerApplication.Shutdown();
                }
            };

            FiddlerApplication.BeforeRequest += handler;
        }
Exemple #5
0
        public static OauthToken Load(string userName)
        {
            if (!File.Exists("OAuthTokens"))
            {
                return(null);
            }
            XmlDocument doc = new XmlDocument();

            doc.Load("OAuthTokens");
            XmlNode node = doc.SelectSingleNode("/tokens/token[@username=\"" + userName + "\"]");

            if (node == null)
            {
                return(null);
            }
            XmlNode    urlNode         = node.SelectSingleNode("url");
            XmlNode    requestBodyNode = node.SelectSingleNode("request_body");
            OauthToken token           = new OauthToken();

            token.Url         = urlNode.InnerText;
            token.RequestBody = jsSerializer.Deserialize <dynamic>(requestBodyNode.InnerText);
            token.UserName    = userName;
            return(token);
        }
Exemple #6
0
 private void Item_MouseDoubleClick(object sender, MouseButtonEventArgs e)
 {
     Token        = OauthToken.Load((string)((ListBoxItem)sender).Content);
     DialogResult = true;
     Close();
 }