void PasswordEntryCompleted(object sender, EventArgs eventArgs) { UsernameEntry.IsEnabled = false; PasswordEntry.IsEnabled = false; LoadingIndicator.IsRunning = true; StatusLabel.IsVisible = false; LoginButton.IsVisible = false; Application.Current.Properties["notificationTimestamp"] = (long)-1; // Dependency injection per interfaces IAuthenticator auth = AuthenticationSystemManager.NewAuthenticator(); auth.Result += LoginResponse; auth.Login(UsernameEntry.Text, PasswordEntry.Text); }
public LoginPage() { InitializeComponent(); #pragma warning disable CS0618 // Type or member is obsolete RegisterLabel.GestureRecognizers.Add(new TapGestureRecognizer(async(view) => { if (!LoadingIndicator.IsRunning && !IsRegisterPageOpen) { IsRegisterPageOpen = true; await Navigation.PushModalAsync(new NavigationPage(new RegisterPage())); } })); #pragma warning restore CS0618 // Type or member is obsolete UsernameEntry.Completed += (o, e) => { PasswordEntry.Focus(); }; PasswordEntry.Completed += PasswordEntryCompleted; if (Application.Current.Properties.ContainsKey("PrivateKey")) { UsernameEntry.IsEnabled = false; PasswordEntry.IsEnabled = false; LoadingIndicator.IsRunning = true; StatusLabel.IsVisible = false; LoginButton.IsVisible = false; // Dependency injection per interfaces var auth = AuthenticationSystemManager.NewAuthenticator(); auth.Result += LoginResponse; auth.Login((string)Application.Current.Properties["PrivateKey"]); } MessagingCenter.Subscribe <RegisterPage, Tuple <string, string> >(this, "Success", (obj, loginInfo) => { UsernameEntry.Text = loginInfo.Item1; PasswordEntry.Text = loginInfo.Item2; PasswordEntryCompleted(null, null); }); MessagingCenter.Subscribe <RegisterPage>(this, "Closing", (obj) => { IsRegisterPageOpen = false; }); }
public void PrivateKeyTest() { LocalUser user = Login(); bool done = false; LocalUser user1 = null; AuthenticatorStatus status = AuthenticatorStatus.UnknownError; var auth = AuthenticationSystemManager.NewAuthenticator(); auth.Result += (_status, _user) => { status = _status; user1 = _user; done = true; }; auth.Login(user.PrivateKey); while (!done) { } Assert.AreEqual(status, AuthenticatorStatus.Success); Assert.AreEqual(user.PrivateKey, user1.PrivateKey); Assert.AreEqual(user.Username, user1.Username); }
public static LocalUser Login(string username = "******", string password = "******") { AuthenticatorStatus status = AuthenticatorStatus.UnknownError; LocalUser user = null; bool done = false; var auth = AuthenticationSystemManager.NewAuthenticator(); auth.Result += (_status, _user) => { status = _status; user = _user; done = true; }; auth.Login(username, password); while (!done) { } Assert.AreEqual(status, AuthenticatorStatus.Success); Assert.AreNotEqual(user, null); Assert.AreEqual(user.Username, username); LocalUserManager.LocalUser = user; return(user); }
private void RegisterButton_Clicked(object sender, EventArgs e) { RegisterButton.IsEnabled = false; RegisterButton.IsVisible = false; ActivityIndicator.IsVisible = true; ActivityIndicator.IsRunning = true; StatusLabel.Text = ""; string username = Username.Text; string password = Password.Text; var registrator = AuthenticationSystemManager.NewRegistrator(); registrator.Result += (status) => { Device.BeginInvokeOnMainThread(async() => { ActivityIndicator.IsVisible = false; ActivityIndicator.IsRunning = false; if (status == RegisterStatus.Success) { MessagingCenter.Send(this, "Success", new Tuple <string, string>(username, password)); await Navigation.PopModalAsync(); //Success } else { RegisterButton.IsEnabled = true; RegisterButton.IsVisible = true; switch (status) { case RegisterStatus.UsernameEmpty: StatusLabel.Text = "Slapyvardis negali būti tuščias"; break; case RegisterStatus.UsernameInvalid: StatusLabel.Text = "Slapyvardis netinkamas"; break; case RegisterStatus.UsernameTooShort: StatusLabel.Text = "Slapvyardis per trumpas"; break; case RegisterStatus.UsernameTooLong: StatusLabel.Text = "Slapyvardis per ilgas"; break; case RegisterStatus.PasswordEmpty: StatusLabel.Text = "Slaptažodis negali būti tuščias"; break; case RegisterStatus.PasswordTooShort: StatusLabel.Text = "Slaptažodis per trumpas"; break; case RegisterStatus.PasswordTooLong: StatusLabel.Text = "Slaptažodis per ilgas"; break; case RegisterStatus.PasswordsDoNotMatch: StatusLabel.Text = "Slaptažodžiai nesutampa"; break; case RegisterStatus.FirstnameEmpty: StatusLabel.Text = "Vardas negali būti tuščias"; break; case RegisterStatus.FirstnameTooShort: StatusLabel.Text = "Vardas per trumpas"; break; case RegisterStatus.FirstnameTooLong: StatusLabel.Text = "Vardas per ilgas"; break; case RegisterStatus.FirstnameInvalid: StatusLabel.Text = "Vardas netinkamas"; break; case RegisterStatus.LastNameEmpty: StatusLabel.Text = "Pavardė negali būti tuščia"; break; case RegisterStatus.LastNameTooShort: StatusLabel.Text = "Pavardė per trumpa"; break; case RegisterStatus.LastNameTooLong: StatusLabel.Text = "Pavardė per ilga"; break; case RegisterStatus.LastNameInvalid: StatusLabel.Text = "Pavardė netinkama"; break; case RegisterStatus.EmailEmpty: StatusLabel.Text = "El. paštas negali būti tuščias"; break; case RegisterStatus.EmailTooShort: StatusLabel.Text = "El. paštas per trumpas"; break; case RegisterStatus.EmailTooLong: StatusLabel.Text = "El. paštas per ilgas"; break; case RegisterStatus.EmailInvalid: StatusLabel.Text = "El. paštas netaisyklingas"; break; case RegisterStatus.Success: StatusLabel.Text = "Pavyko"; break; case RegisterStatus.JsonReadException: StatusLabel.Text = "Klaidingas rezultatas"; break; case RegisterStatus.FailedToConnect: StatusLabel.Text = "Nepavyko prisijungti prie tinklo"; break; case RegisterStatus.FieldsMissing: StatusLabel.Text = "Trūksta laukų"; break; case RegisterStatus.UnknownError: StatusLabel.Text = "Nežinoma klaida"; break; default: StatusLabel.Text = "Nežinoma klaida"; break; } } }); }; registrator.Register(username, password, PasswordRepeat.Text, FirstName.Text, LastName.Text, Email.Text); }