/**
  * Returns an active AppFlowerUser for a valid key
  * or null.
  */
 private static function getApiUser($apikey)
 {
     $parts = explode(afAuthenticDatamaker::MSG_SEPARATOR, $apikey, 2);
     if (count($parts) !== 2) {
         return null;
     }
     list($hmac, $username) = $parts;
     $userQuery = sfProjectConfiguration::getActive()->getAppFlowerUserQuery();
     $afUser = $userQuery->findOneByUsername($username);
     if ($afUser === null) {
         return null;
     }
     $extraKey = $afUser->getPassword();
     $username = afAuthenticDatamaker::plainDecode($apikey, $extraKey);
     if ($username === null) {
         //Console::debug('expected API key:', self::getApikey($afUser));
         return null;
     }
     return $afUser;
 }