2013-06-12 8 views

ответ

0

Похоже, что Bundle не поддерживает владельцев собственных ресурсов без непосредственного редактирования пакета (это на первый взгляд, я никогда не использовал этот комплект).

Файл oauth.xml (https://github.com/hwi/HWIOAuthBundle/blob/master/Resources/config/oauth.xml) ссылается на каждого из существующих владельцев ресурсов, поэтому, я думаю, вы могли бы взглянуть на одну из приведенных здесь ссылок, которая была бы хорошей отправной точкой.

0

В соответствии с bundle documentation вы можете это сделать.

Я считаю, что с помощью GenericOauth2ResourceOwner класса, расположенный в каталоге поставщика расслоением HWI \ Bundle \ OAuthBundle \ OAuth \ ResourceOwner.

4

Я перепробовал владельца ресурса HWIOAuthBundle linkedin, потому что мне нужно было обрабатывать исключения соединений. Вы можете использовать компилятор пасс, чтобы сделать это:

namespace UserAccountBundle\DependencyInjection\Compiler; 

use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; 
use Symfony\Component\DependencyInjection\ContainerBuilder; 

class OverrideServiceCompilerPass implements CompilerPassInterface 
{ 
    public function process(ContainerBuilder $container) 
    { 
     $definition = $container->getDefinition('hwi_oauth.resource_owner.linkedin'); 
     $definition->setClass('UserAccountBundle\OAuth\MyLinkedInResourceOwner'); 
    } 
} 

Затем в пачке:

namespace UserAccountBundle; 

use Symfony\Component\HttpKernel\Bundle\Bundle; 
use UserAccountBundle\DependencyInjection\Compiler\OverrideServiceCompilerPass; 
use Symfony\Component\DependencyInjection\ContainerBuilder; 

class UserAccountBundle extends Bundle 
{ 

    public function build(ContainerBuilder $container) 
    { 
     parent::build($container); 

     $container->addCompilerPass(new OverrideServiceCompilerPass()); 
    } 
} 

Больше на пачке переопределениях: http://symfony.com/doc/current/cookbook/bundles/override.html

+0

Я подтверждаю, что это работает большой этот путь! – Bruno