private async void LoginButton_OnClick(object sender, RoutedEventArgs args) { var client = App.Current.Client; if (string.IsNullOrWhiteSpace(this.viewModel.UserName)) { this.viewModel.ErrorText = "UserName required"; return; } else if (string.IsNullOrWhiteSpace(this.viewModel.Password)) { this.viewModel.ErrorText = "Password required"; return; } try { await client.LoginPassword(this.viewModel.UserName, this.viewModel.Password); var sessionToken = client.UserSession.Token; LoginManager login = new LoginManager(); login.SaveSessionToken(sessionToken); NavigationHelper.GoBack(); } catch (DdpServerException e) { this.viewModel.ErrorText = e.Reason; } }
private async Task InitializeClient() { this.Client = new MeteorClient(new Uri("ws://localhost:3000/websocket")); await this.Client.ConnectAsync(); var manager = new LoginManager(); var sessionToken = manager.GetSavedSessionToken(); if (!string.IsNullOrWhiteSpace(sessionToken)) { try { await this.Client.LoginResumeSession(sessionToken); } catch (DdpServerException) { } } }
private async void LogoutButton_OnClick(object sender, RoutedEventArgs e) { await App.Current.Client.Logout(); var frame = Window.Current.Content as Frame; var loginManager = new LoginManager(); loginManager.ClearToken(); frame.Navigate(typeof (MainPage)); }