. // }}} /** * ActivityPub implementation for GNU social * * @package OAuth2 * @category API * * @author Diogo Peralta Cordeiro <@diogo.site> * @copyright 2021 Free Software Foundation, Inc http://www.fsf.org * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ namespace Plugin\IndieAuth\Controller; use App\Core\Controller; use Nyholm\Psr7\Factory\Psr17Factory; use Plugin\IndieAuth\IndieAuth; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory; use Symfony\Component\HttpFoundation\RequestStack; /** * App Management Endpoint * * @copyright 2021 Free Software Foundation, Inc http://www.fsf.org * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ class OAuth2 extends Controller { private ServerRequestInterface $psrRequest; public function __construct(RequestStack $requestStack) { parent::__construct($requestStack); $psr17Factory = new Psr17Factory(); $psrHttpFactory = new PsrHttpFactory($psr17Factory, $psr17Factory, $psr17Factory, $psr17Factory); $this->psrRequest = $psrHttpFactory->createRequest($this->request); } public function handleAuthorizationEndpointRequest(): ResponseInterface { return IndieAuth::$server->handleAuthorizationEndpointRequest($this->psrRequest); } public function handleTokenEndpointRequest(): ResponseInterface { return IndieAuth::$server->handleTokenEndpointRequest($this->psrRequest); } }