Esempio n. 1
0
        public async Task <IActionResult> ChangePassword(ChangePasswordModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            model.UserId = UserId;

            var changePasswordResult = await _manageEndpoint.ChangePasswordAsync(model);

            if (!changePasswordResult.Succeeded)
            {
                foreach (var error in changePasswordResult.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
                return(View(model));
            }

            await _signInManager.RefreshSignInAsync(UserId);

            _logger.LogInformation("User with UserId {userId} changed their password successfully.", UserId);
            model = new ChangePasswordModel
            {
                StatusMessage = "Your password has been changed."
            };

            return(View(model));
        }