/// <summary> /// Sends a new password to server /// </summary> public void ChangePassword(PasswordChangeData data, SuccessCallback callback, IClientSocket connection) { if (!connection.IsConnected) { callback.Invoke(false, "Not connected to server"); return; } var dictionary = new Dictionary <string, string>() { { "email", data.Email }, { "code", data.Code }, { "password", data.NewPassword } }; connection.SendMessage((short)MsfOpCodes.PasswordChange, dictionary.ToBytes(), (status, response) => { if (status != ResponseStatus.Success) { callback.Invoke(false, response.AsString("Unknown error")); return; } callback.Invoke(true, null); }); }
/// <summary> /// Sends a new password to server /// </summary> public void ChangePassword(PasswordChangeData data, SuccessCallback callback) { ChangePassword(data, callback, Connection); }
public void OnResetClick() { var email = Email.text.Trim().ToLower(); var code = ResetCode.text; var newPassword = Password.text; if (Password.text != PasswordRepeat.text) { Msf.Events.Fire(Msf.EventNames.ShowDialogBox, DialogBoxData.CreateError("Passwords do not match")); return; } if (newPassword.Length < 3) { Msf.Events.Fire(Msf.EventNames.ShowDialogBox, DialogBoxData.CreateError("Password is too short")); return; } if (string.IsNullOrEmpty(code)) { Msf.Events.Fire(Msf.EventNames.ShowDialogBox, DialogBoxData.CreateError("Invalid code")); return; } if (email.Length < 3 || !email.Contains("@")) { Msf.Events.Fire(Msf.EventNames.ShowDialogBox, DialogBoxData.CreateError("Invalid e-mail address provided")); return; } var data = new PasswordChangeData { Email = email, Code = code, NewPassword = newPassword }; var promise = Msf.Events.FireWithPromise(Msf.EventNames.ShowLoading, "Changing a password"); Msf.Client.Auth.ChangePassword(data, (successful, error) => { promise.Finish(); if (!successful) { Msf.Events.Fire(Msf.EventNames.ShowDialogBox, DialogBoxData.CreateError(error)); return; } Msf.Events.Fire(Msf.EventNames.ShowDialogBox, DialogBoxData.CreateInfo( "Password changed successfully")); Msf.Events.Fire(Msf.EventNames.RestoreLoginForm, new LoginFormData { Username = null, Password = "" }); gameObject.SetActive(false); }); }