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) }); }
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) }); }