public PowerGistPanel() { InitializeComponent(); AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; GitApiConfig.AlertIfConfigRequired(); gistClient = new GistClient(GitApiConfig.ClientId, GitApiConfig.ClientSecret, "powershellISEAddin"); viewModel = new MainViewModel(); viewModel.Loading = Visibility.Collapsed; //navigate to "https://github.com/login/oauth/authorize" webBrowser.Visibility = Visibility.Visible; webBrowser.Navigate(gistClient.AuthorizeUrl); }
private async void webBrowser_Navigating(object sender, NavigatingCancelEventArgs e) { if (e.Uri.AbsoluteUri.Contains("code=")) { e.Cancel = true; webBrowser.Visibility = Visibility.Collapsed; var authCode = Regex.Split(e.Uri.AbsoluteUri, "code=")[1]; //get access token await gistClient.Authorize(authCode); ISEInterop.Config.ObjectModelRoot = HostObject; var gistRepo = new GistRepository(gistClient); viewModel = new MainViewModel(gistRepo); this.DataContext = viewModel; await viewModel.Load(); } }