private async Task <TokenDTO> CreateTokensAndSave(User user)
        {
            RefreshToken refreshToken = user.RefreshTokens.FirstOrDefault(t => t.IsActive);

            if (refreshToken is null)
            {
                refreshToken = _tokenService.BuildRefreshToken();
                user.RefreshTokens.Add(refreshToken);
            }

            _userService.UpdateAndSave(user);

            return(new TokenDTO {
                AccessToken = _tokenService.BuildAccessToken(_userService.GetMapped <UserTokenDTO>(user.Id), await _userManager.GetRolesAsync(user)), RefreshToken = refreshToken.Token, RefreshTokenExpiresIn = refreshToken.Expires
            });
        }