Пример #1
0
        /// <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);
            });
        }
Пример #2
0
 /// <summary>
 ///     Sends a new password to server
 /// </summary>
 public void ChangePassword(PasswordChangeData data, SuccessCallback callback)
 {
     ChangePassword(data, callback, Connection);
 }
Пример #3
0
        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);
            });
        }