diff options
Diffstat (limited to 'app/Api/Base.php')
-rw-r--r-- | app/Api/Base.php | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/app/Api/Base.php b/app/Api/Base.php new file mode 100644 index 00000000..445b35be --- /dev/null +++ b/app/Api/Base.php @@ -0,0 +1,33 @@ +<?php + +namespace Api; + +use JsonRPC\AuthenticationFailure; +use Symfony\Component\EventDispatcher\Event; + +/** + * Base class + * + * @package api + * @author Frederic Guillot + */ +abstract class Base extends \Core\Base +{ + /** + * Check api credentials + * + * @access public + * @param string $username + * @param string $password + * @param string $class + * @param string $method + */ + public function authentication($username, $password, $class, $method) + { + $this->container['dispatcher']->dispatch('api.bootstrap', new Event); + + if (! ($username === 'jsonrpc' && $password === $this->config->get('api_token'))) { + throw new AuthenticationFailure('Wrong credentials'); + } + } +} |