Пример #1
0
        public async Task <LoginResponse> Login([FromBody] LoginRequest request)
        {
            var user = await _userService.GetByEmailAsync(request.Email);

            if (user == null || !HashUtils.CheckHash(user.PasswordHash, request.Password))
            {
                throw new AppErrorException(new AppError(ErrorCode.IncorrectPassword));
            }

//            if (!user.IsEmailConfirm)
//                throw new AppErrorException(new AppError(ErrorCode.EmailIsNotConfirmed));

            return(new LoginResponse
            {
                AccessToken = _authService.GenerateAccessToken(user),
                RefreshToken = _authService.GenerateRefreshToken(user)
            });
        }
Пример #2
0
        public async Task <LoginResponse> SendUpdateEmailForUser([FromBody] UpdateEmailRequest data)
        {
            var user = await _userService.GetByIdAsync(UserId);

            if (!HashUtils.CheckHash(user.PasswordHash, data.Password))
            {
                throw new AppErrorException(ErrorCode.IncorrectValidation);
            }

            var token = _mailTokenService.EncryptToken(user.Email);

            var model = new ChangeEmailEmailModel {
                OldEmail = user.Email, NewEmail = data.NewEmail, Token = token
            };

            await _queueProvider.SendMessageAsync(model.ToJson());

            return(new LoginResponse
            {
                AccessToken = _authService.GenerateAccessToken(user),
                RefreshToken = _authService.GenerateRefreshToken(user)
            });
        }