. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Tools\OAuthServer\EntryPoints; use Espo\Core\Api\Request; use Espo\Core\Api\Response; use Espo\Core\EntryPoint\EntryPoint; use Espo\Core\Utils\Client\ActionRenderer; use Espo\Core\Utils\Client\SecurityParams; use Espo\Tools\OAuthServer\AuthorizationService; /** * @noinspection PhpUnused */ class Authorize implements EntryPoint { public function __construct( private ActionRenderer $actionRenderer, private AuthorizationService $service, ) {} public function run(Request $request, Response $response): void { $psr7Response = $this->service->authorizeStart($request->toPsr7(), $response->toPsr7()); if ($psr7Response) { $response->applyPsr7($psr7Response); return; } $params = new ActionRenderer\Params( controller: 'controllers/o-auth-authorize', action: 'show', ); $params = $params ->withLogin() ->withSecurityParams( new SecurityParams( formAction: [], ) ); $this->actionRenderer->write($response, $params); } }