/** * 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; }