private async void loginButton_Click(object sender, EventArgs e) { string username = usernameTextBox.Text; string password = passwordTextBox.Text; try { Token token = await _forgameAuthProvider.Authorize(username, password); _launcherConfigProvider.AddOrUpdateAccount(new Account { Username = username, Token = token }); _launcherConfigProvider.UpdateLastUsedAccount(username); Router.SetLocation("/"); } catch (NeedToConfirmWithCode ex) { var queryString = HttpUtility.ParseQueryString(string.Empty); queryString.Add("message", ex.Message); queryString.Add("username", username); queryString.Add("password", password); string path = $"/auth/activate/{ex.SessionId}?{queryString}"; Router.SetLocation(path); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private async void activationCodeTextBox_TextChanged(object sender, EventArgs e) { if (activationCodeTextBox.TextLength != 6) { return; } string sessionId = Router.Params["sessionId"]; try { await _forgameAuthProvider.SendActivationCode( sessionId, activationCodeTextBox.Text); string username = Router.Query["username"]; string password = Router.Query["password"]; Token token = await _forgameAuthProvider.Authorize(username, password); _launcherConfigProvider.AddOrUpdateAccount(new Account { Username = username, Token = token }); _launcherConfigProvider.UpdateLastUsedAccount(username); Router.SetLocation("/"); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void accountsListBox_SelectedIndexChanged(object sender, EventArgs e) { _launcherConfigProvider.UpdateLastUsedAccount((string)accountsListBox.SelectedItem); }