public async Task <ActionResult <Response <UserModel> > > ConfirmResetPassword(
            [FromBody] ConfirmPasswordResetRequest request)
        {
            var response = await _identityService.ConfirmPasswordReset(request);

            return(FromResponse(response));
        }
Ejemplo n.º 2
0
        public async Task <Response <UserModel> > ConfirmPasswordReset(ConfirmPasswordResetRequest request)
        {
            if (!request.Id.HasValue)
            {
                return(Response.ForError("Request id is required."));
            }

            var user = await _usersRepository.GetById(request.Id.Value);

            if (user == null)
            {
                return(Response.ForError("User not found."));
            }

            var identity = await _userManager.FindByIdAsync(user.AspNetUserId);

            var validationResult = await GetPasswordErrors(identity, request.NewPassword);

            if (!validationResult.Success)
            {
                return(validationResult);
            }
            var result = await _userManager.ConfirmEmailAsync(identity, request.Token);

            if (!result.Succeeded)
            {
                return(ConvertToResponse(result));
            }

            result = await _userManager.RemovePasswordAsync(identity);

            if (!result.Succeeded)
            {
                return(ConvertToResponse(result));
            }

            result = await _userManager.AddPasswordAsync(identity, request.NewPassword);

            if (!result.Succeeded)
            {
                return(ConvertToResponse(result));
            }

            user.Active = true;
            await _usersRepository.Save();

            return(Response <UserModel> .ForSuccess());
        }
Ejemplo n.º 3
0
        public async Task <ActionResult <UserModelResult> > ConfirmResetPassword([FromBody] ConfirmPasswordResetRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var result = await _usersService.ConfirmPasswordReset(request);

            if (!result.Success)
            {
                return(BadRequest(result));
            }

            return(Ok());
        }
Ejemplo n.º 4
0
        public Task <Response <UserModel> > ConfirmPasswordReset(ConfirmPasswordResetRequest request)
        {
            Response <UserModel> response = Response.ForError("");

            return(Task.FromResult(response));
        }