Esempio n. 1
0
        public ActionResult <string> GenerateHash()
        {
            var pass = Request.Query["password"];
            var salt = Request.Query["salt"];

            return(PasswordHasher.GeneratePasswordHash(pass, salt));
        }
Esempio n. 2
0
        public async Task <ActionResult <UserAuthResponse> > ChangePassword([FromBody] UserChangePassword ucp)
        {
            var ua = await dbHelper.GetUserAuthAsync(ucp.Username);

            if (ua != null)
            {
                var oldValid = PasswordHasher.IsEqual(ua.PasswordHash, ua.PasswordSalt, ucp.OldPassword);
                if (oldValid)
                {
                    var newPasswordHash = PasswordHasher.GeneratePasswordHash(ucp.NewPassword, ua.PasswordSalt);
                    var resp            = await dbHelper.ChangePasswordAsync(ua.UserId, newPasswordHash);

                    return(new UserAuthResponse
                    {
                        IsSuccess = resp.IsSuccess,
                        Message = resp.Message
                    });
                }
                else
                {
                    return(new UserAuthResponse
                    {
                        IsSuccess = false,
                        Message = "Old password doesn't match"
                    });
                }
            }

            return(new UserAuthResponse
            {
                IsSuccess = false,
                Message = "User not authenticated"
            });
        }
Esempio n. 3
0
        public async Task <ActionResult <string> > AddUser([FromBody] UserInit user)
        {
            var exist = await dbHelper.IsUsernameExistAsync(user.Username);

            if (!exist)
            {
                var passwordSalt = Guid.NewGuid().ToString("N").ToUpper();
                var passwordHash = PasswordHasher.GeneratePasswordHash(user.Password, passwordSalt);
                var r            = await dbHelper.AddUserAsync(user.Username, passwordHash, passwordSalt, user.Email, user.Role);

                return(r.Message);
            }
            else
            {
                return($"Username '{user.Username}' already exist. Choose another one");
            }
        }