Как кастомизировать ответ получения токена в FosOauthServer?

Хочу кастомизировать дефолтный ответ получения токена "/oauth/v2/token" из бандла FosOauthServer. Создаю TokenController он расширяет контроллер FosOAuthServerBundle.

<?php

namespace App\Controller;

use OAuth2\OAuth2;
use Symfony\Component\HttpFoundation\Request;
use FOS\OAuthServerBundle\Controller\TokenController as BaseController;

class TokenController extends BaseController
{
    /**
     * @param OAuth2 $server
     */
    public function __construct(OAuth2 $server)
    {
        parent::__construct($server);
    }

    public function tokenAction(Request $request)
    {
        // Do whatever you like here
        $result = parent::tokenAction($request);
        // More custom code.
        return $result;
    }
}

В конфиге service.yaml я прописываю
OAuth2\OAuth2:
        arguments:
            $storage: fos_oauth_server.storage
            $config: '%fos_oauth_server.server.options%'

    FOS\OAuthServerBundle\Controller\TokenController:
        class: App\Controller\TokenController
        arguments:
            $server: fos_oauth_server.server.class


Но я получаю ошибку

Argument 1 passed to App\\Controller\\TokenController::__construct() must be an instance of OAuth2\\OAuth2, string given, called in /var/www/api-support.local/var/cache/dev/ContainerGFSkCmR/getFosOauthServer_Controller_TokenService.php on line 12


и что то пока не могу понять что я не правильно сделал, но я так полагаю я сделал муть в service.yaml.
  • Вопрос задан
  • 47 просмотров
Решения вопроса 1
@LemonFox
stateless mind
Для передачи сервисов в качестве аргумента используйте @service.id
У вас передается строка

https://symfony.com/doc/current/service_container....
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы