public async Task SignOutAsync(LogoutModel logoutModel)
        {
            // In fact, we just add a signout date for auditing
            // Because JWT is helping us to validate service-self instead of connecting back to Identity Server
            // For micro-services, we need to implement distributed JWT cache for signing out all sessions

            var userSession = await _userSessionRepository.GetOneAsync(logoutModel.UserSession);

            userSession.SignOutDate    = DateTime.UtcNow;
            userSession.AlreadySignOut = true;
            await _userSessionRepository.UpdateAsync(userSession.Id, userSession);
        }