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; } }
private void Window_Loaded(object sender, RoutedEventArgs e) { OauthToken.GetOauthTokens((result, token) => { Dispatcher.Invoke(() => { if (result == 1) { oauthToken = token; DialogResult = true; Close(); } }); }); }
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); } }
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; }
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); }
private void Item_MouseDoubleClick(object sender, MouseButtonEventArgs e) { Token = OauthToken.Load((string)((ListBoxItem)sender).Content); DialogResult = true; Close(); }