/**
  * a token can be found by it's key
  **/
 public function testFindToken()
 {
     $user = new UserModel();
     $user->username = '******';
     $user->password = '******';
     $user->save();
     $key = TokenModel::makeKey();
     $token = TokenModel::generate($user, $key);
     $token->save();
     $token2 = TokenModel::findToken($key);
     $this->assertNotNull($token2);
 }
 /**
  * authorize users with a valid token
  *
  * users without a valid token are
  * forbidden(code: 401) from proceeding.
  **/
 public function handle(\Slim\Slim $app)
 {
     $token_cookie = $app->getCookie(AuthController::TOKEN_COOKIE);
     if (empty($token_cookie)) {
         $app->response->setStatus(401);
         $app->response->finalize();
         return $app->response->finalize();
     }
     $token = TokenModel::findToken($token_cookie);
     if ($token == null) {
         $app->response->setStatus(401);
         $app->response->finalize();
         return $app->response->finalize();
     }
 }