public void OnActionExecuting(ActionExecutingContext context)
        {
            foreach (var argument in context.ActionArguments.Values.Where(v => v is ConfirmRegistrationRequest))
            {
                ConfirmRegistrationRequest command = argument as ConfirmRegistrationRequest;

                _userValidationService.RequireValidConfirmationPhraseForInactiveUser(command.ConfirmationPhrase);
            }
        }
Пример #2
0
        public async Task <ConfirmRegistrationResponse> ConfirmRegistration(string token)
        {
            var confirmRegistrationRequest = new ConfirmRegistrationRequest
            {
                Token = token
            };

            var baseApiResult =
                await PostRequest <ConfirmRegistrationResponse>("ConfirmRegistration", confirmRegistrationRequest);

            if (!baseApiResult.Success)
            {
                throw new Exception(baseApiResult.Message);
            }

            return(baseApiResult.Response);
        }
Пример #3
0
 public ConfirmRegistrationResponse ConfirmRegistration([FromBody]
                                                        ConfirmRegistrationRequest confirmRegistrationRequest)
 {
     try
     {
         var token = _tokenService.GetTokenByTypeAndValue(TokenTypes.ConfirmRegistration,
                                                          confirmRegistrationRequest.Token);
         _userService.ConfirmUser(token.UserId);
         _tokenService.Delete(token.Id);
         return(new ConfirmRegistrationResponse());
     }
     catch (Exception ex)
     {
         return(new ConfirmRegistrationResponse
         {
             Success = false,
             Message = ex.Message
         });
     }
 }
Пример #4
0
        public async Task <LoginResponse> ConfirmRegistration([FromBody] ConfirmRegistrationRequest data)
        {
            var user = await _userService.GetByIdAsync(data.UserId);

            if (user == null ||
                user.Email != _mailTokenService.DecryptToken(data.Token)
                )
            {
                throw new AppErrorException(new AppError(ErrorCode.IncorrectData));
            }

            user.IsEmailConfirm = true;

            await _userService.SaveChangesAsync();

            return(new LoginResponse
            {
                AccessToken = _authService.GenerateAccessToken(user),
                RefreshToken = _authService.GenerateRefreshToken(user)
            });
        }
Пример #5
0
        public async Task <ConfirmRegistrationResponse> ConfirmRegistration(ConfirmRegistrationRequest request)
        {
            var sessionUser = await _sessionManager.GetUser();

            var response = new ConfirmRegistrationResponse();

            UserEntity user;

            using (var uow = _uowFactory.GetUnitOfWork())
            {
                user = await uow.UserRepo.GetUserById(new Repositories.DatabaseRepos.UserRepo.Models.GetUserByIdRequest()
                {
                    Id = request.Id
                });

                await uow.UserRepo.ActivateAccount(new Repositories.DatabaseRepos.UserRepo.Models.ActivateAccountRequest()
                {
                    Id         = request.Id,
                    Updated_By = sessionUser.Id
                });

                uow.Commit();

                await _sessionManager.WriteSessionLogEvent(new Models.ManagerModels.Session.CreateSessionLogEventRequest()
                {
                    EventKey = SessionEventKeys.UserActivated,
                    Info     = new Dictionary <string, string>()
                    {
                        { "User_Id", request.Id.ToString() }
                    }
                });
            }

            response.Notifications.Add($"User '{user.Username}' has been activated", NotificationTypeEnum.Success);
            return(response);
        }
        public IActionResult ConfirmRegistration(ConfirmRegistrationRequest confirmRegistrationRequest)
        {
            _authenticationService.ConfirmRegistration(confirmRegistrationRequest);

            return(NoContent());
        }
Пример #7
0
 public async Task <IHttpActionResult> ConfirmRegistration([FromUri] ConfirmRegistrationRequest request)
 {
     return(Ok(await _mediator.Send(request)));
 }
Пример #8
0
        public void ConfirmRegistration(ConfirmRegistrationRequest command)
        {
            var user = _userRepository.GetUserByConfirmationPhrase(command.ConfirmationPhrase);

            user.IsActive = true;
        }