예제 #1
0
        public async Task <ActionResult> ResetPassword([FromBody] RegModel model)
        {
            try
            {
                var userId = await _commonManager.GetUserIdByValidationToken(model.VaidationToken);

                var user = await _userManager.FindByIdAsync(userId);

                var passwordHash = _userManager.PasswordHasher.HashPassword(user, model.NewPassword);
                user.PasswordHash = passwordHash;
                await _userManager.UpdateAsync(user);

                var jwt = await _jwtTokenGenerator.GenerateToken(user);

                return(Ok(new JObject
                {
                    ["token"] = jwt
                }.ToString()));
            }
            catch (GenericException ex)
            {
                return(Ok(new JObject
                {
                    ["error"] = ex.Code
                }.ToString()));
            }
            catch (Exception ex)
            {
                return(Ok(new JObject
                {
                    ["error"] = ex.Message
                }.ToString()));
            }
        }