title: ERROR Class app\Auth not found - slim framework v3 middleware
body: <p>I am using slim framework and trying to implement <a href="https://github.com/dyorg/slim-token-authentication/" rel="nofollow noreferrer">slim token authentication</a> as middleware, now whenever i go to</p>
  <blockquote>
  <p>localhost/project/restrict</p>
  </blockquote>
  <p>i get the message &quot;Token Not Found&quot; which seems to be working fine however when i try to pass the token in the authorization parameter as per the middleware <a href="https://github.com/dyorg/slim-token-authentication/tree/master/example" rel="nofollow noreferrer">documentation</a></p>
  <blockquote>
  <p>locahost/project/restrict?authorization=usertokensecret</p>
  </blockquote>
  <p>i always get the error Class 'app\Auth' not found and in my error trace the below,</p>
  <blockquote>
  <p>0 /Applications/AMPPS/www/project/vendor/dyorg/slim-token-authentication/src/TokenAuthentication.php(66):
  {closure}(Object(Slim\Http\Request),
  Object(Slim\Middleware\TokenAuthentication))</p>
  <p>1 [internal function]: Slim\Middleware\TokenAuthentication-&gt;__invoke(Object(Slim\Http\Request),
  Object(Slim\Http\Response), Object(Slim\App))</p>
  <p>2 /Applications/AMPPS/www/project/vendor/slim/slim/Slim/DeferredCallable.php(43):
  call_user_func_array(Object(Slim\Middleware\TokenAuthentication),
  Array)</p>
  <p>3 [internal function]: Slim\DeferredCallable-&gt;__invoke(Object(Slim\Http\Request),
  Object(Slim\Http\Response), Object(Slim\App))</p>
  <p>4 /Applications/AMPPS/www/project/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(73):
  call_user_func(Object(Slim\DeferredCallable),
  Object(Slim\Http\Request), Object(Slim\Http\Response),
  Object(Slim\App))</p>
  <p>5 /Applications/AMPPS/www/project/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(122):
  Slim\App-&gt;Slim{closure}(Object(Slim\Http\Request),
  Object(Slim\Http\Response))</p>
  <p>6 /Applications/AMPPS/www/project/vendor/slim/slim/Slim/App.php(370): Slim\App-&gt;callMiddlewareStack(Object(Slim\Http\Request),
  Object(Slim\Http\Response))</p>
  <p>7 /Applications/AMPPS/www/project/vendor/slim/slim/Slim/App.php(295): Slim\App-&gt;process(Object(Slim\Http\Request),
  Object(Slim\Http\Response))</p>
  <p>8 /Applications/AMPPS/www/project/index.php(81): Slim\App-&gt;run()</p>
  <p>9 {main}</p>
  </blockquote>
  <p><strong>here the code i am using</strong></p>
  <pre><code>&lt;?php
  use \Psr\Http\Message\ServerRequestInterface as Request;
  use \Psr\Http\Message\ResponseInterface as Response;
  
  require_once './vendor/autoload.php';
  
  $app = new \Slim\App;
  use Slim\App;
  use Slim\Middleware\TokenAuthentication;
  
  $config = [
      'settings' =&gt; [
          'displayErrorDetails' =&gt; true
      ]
  ];
  
  $app = new App($config);
  
  $authenticator = function($request, TokenAuthentication $tokenAuth){
  
      $token = $tokenAuth-&gt;findToken($request);
      $auth = new \app\Auth();
      $auth-&gt;getUserByToken($token);
  
  };
  
  /**
   * Add token authentication middleware
   */
  $app-&gt;add(new TokenAuthentication([
      'path' =&gt;   '/restrict',
      'authenticator' =&gt; $authenticator
  ]));
  
  /**
   * Public route example
   */
  $app-&gt;get('/', function($request, $response){
      $output = ['msg' =&gt; 'It is a public area'];
      $response-&gt;withJson($output, 200, JSON_PRETTY_PRINT);
  });
  
  
  /**
   * Restrict route example
   * Our token is &quot;usertokensecret&quot;
   */
  $app-&gt;get('/restrict', function($request, $response){
      $output = ['msg' =&gt; 'It\'s a restrict area. Token authentication works!'];
      $response-&gt;withJson($output, 200, JSON_PRETTY_PRINT);
  });
  
  
  $app-&gt;run();
  
  ?&gt;
  </code></pre>