Exemplo n.º 1
0
        public async Task <IActionResult> UpdatePassword(UpdatePasswordParameter data)
        {
            var nameId = HttpContext.User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value;

            if (string.IsNullOrEmpty(nameId))
            {
                return(Unauthorized());
            }
            var userId = Convert.ToInt32(nameId);
            var user   = await auth.GetUser(userId);

            if (user == null)
            {
                return(NotFound());
            }
            try
            {
                await auth.UpdatePassword(user, data);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Exemplo n.º 2
0
        public async Task UpdatePassword(User user, UpdatePasswordParameter model)
        {
            if (!VerifyPasswordHash(model.Oldpass, user.PasswordHash, user.PasswordSalt))
            {
                throw new Exception("Password not match");
            }

            CreatePasswordHash(model.Newpass, out byte[] passwordHash, out byte[] passwordSalt);

            user.PasswordHash = passwordHash;
            user.PasswordSalt = passwordSalt;

            await context.SaveChangesAsync();
        }