This repository has been archived on 2025-02-26. You can view files and clone it, but cannot push or open issues or pull requests.
szurubooru/src/Controllers/AuthController.php

36 lines
943 B
PHP
Raw Normal View History

<?php
namespace Szurubooru\Controllers;
final class AuthController extends AbstractController
{
private $authService;
public function __construct(\Szurubooru\Services\AuthService $authService)
{
$this->authService = $authService;
}
2014-08-30 15:04:33 +02:00
public function registerRoutes(\Szurubooru\Router $router)
{
$router->post('/api/login', [$this, 'login']);
2014-08-30 23:17:54 +02:00
$router->put('/api/login', [$this, 'login']);
}
public function login()
{
$input = new \Szurubooru\Helpers\InputReader();
2014-08-30 23:17:54 +02:00
if ($input->userName and $input->password)
$this->authService->loginFromCredentials($input->userName, $input->password);
elseif ($input->token)
$this->authService->loginFromToken($input->token);
else
throw new \Szurubooru\MissingArgumentException();
return [
2014-08-31 09:09:17 +02:00
'token' => new \Szurubooru\ViewProxies\Token($this->authService->getLoginToken()),
'user' => new \Szurubooru\ViewProxies\User($this->authService->getLoggedInUser()),
2014-08-30 23:17:54 +02:00
];
}
}