public async Task <Result <ValidateTokenResult> > Handle(ValidateTokenCommand request, CancellationToken cancellationToken) { try { var validate = _jwtService.ValidateToken(request.AccessToken); if (validate == null) { return(Result <ValidateTokenResult> .Fail(new Error(nameof(JwtService.ValidateToken), "Token is not valid"))); } var userSession = await _userSessionRepository.FindByAccessTokenAsync(request.AccessToken); if (userSession == null || !userSession.IsActive(request.AccessToken)) { return(Result <ValidateTokenResult> .Fail(new Error(nameof(UserSession.IsActive), "Token is not active"))); } return(Result <ValidateTokenResult> .Success(new ValidateTokenResult())); } catch (Exception e) { _logger.LogError(e, e.Message); return(Result <ValidateTokenResult> .Fail(Error.Default())); } }