Пример #1
0
        public async Task <IActionResult> ResetPassword([FromBody] string code, bool verify)
        {
            var confirmationCode =
                await _db.ConfirmationCodes.FirstOrDefaultAsync(ConfirmationCode.CanBeUsed(code,
                                                                                           ConfirmationCode.Types.PasswordReset));

            if (confirmationCode == null)
            {
                return(NotFound());
            }
            return(Ok());
        }
Пример #2
0
        public async Task <IActionResult> ResetPassword([FromBody] UserModels.PasswordReset model)
        {
            var confirmationCode =
                await _db.ConfirmationCodes.FirstOrDefaultAsync(ConfirmationCode.CanBeUsed(model.Code,
                                                                                           ConfirmationCode.Types.PasswordReset));

            if (confirmationCode == null)
            {
                return(BadRequest());
            }

            confirmationCode.IsConfirmed = true;

            var user = confirmationCode.User;

            user.Password = _userService.HashPassword(user, model.Password);
            await _db.SaveChangesAsync();

            return(Ok());
        }
Пример #3
0
        public async Task <IActionResult> VerifyEmail([FromBody] string code)
        {
            var confirmationCode = _userService.User.ConfirmationCodes.FirstOrDefault(x =>
                                                                                      ConfirmationCode.CanBeUsed(x, code, ConfirmationCode.Types.EmailConfirmation));

            if (confirmationCode == null)
            {
                return(BadRequest());
            }

            confirmationCode.IsConfirmed = true;
            await _db.SaveChangesAsync();

            return(Ok());
        }